This function saves a lot of code:
in class FieldMap (public method):
bool getFieldIfSet( FieldBase& field ) const
{
Fields::const_iterator iter = m_fields.find( field.getField() );
if ( iter == m_fields.end() )
return false;
field = iter->second;
return true;
}