void operator() ( MeshEntity& e ) const
 {
     if ( M_policy (e.markerID(), M_watermark) )
     {
         e.replaceFlag ( M_flagPolicy ( e.flag(), M_flagToSet ) );
     }
 }
 void operator() ( MeshEntity& e ) const
 {
     if ( std::binary_search ( M_watermarks.begin(), M_watermarks.end(), e.markerID() ) )
     {
         e.replaceFlag ( M_flagPolicy ( e.flag(), M_flagToSet ) );
     }
 }
 void operator() (MeshEntity& e) const
 {
     std::pair<flag_Type, bool> tmp = this->findFlag ( e.markerID() );
     if ( tmp.second )
     {
         e.replaceFlag ( M_flagPolicy ( e.flag(), tmp.first ) );
     }
 }