bool IsVisible(const ShowHideManager *shm) const
 {
     bool isVisible = false;
     for (unsigned int i=0; i<molecule->NResidues(); ++i) {
         if (molecule->residueDomains[i] == domainID &&
             shm->IsVisible(molecule->residues.find(i+1)->second)) {
             isVisible = true;   // return true if any residue from this domain is visible
             break;
         }
     }
     return isVisible;
 }
 void Show(ShowHideManager *shm, bool isShown) const
 {
     for (unsigned int i=0; i<molecule->NResidues(); ++i)
         if (molecule->residueDomains[i] == domainID)
             shm->Show(molecule->residues.find(i+1)->second, isShown);
 }