public Object getAdapter(Class adapter) {
   Object superAdapter = super.getAdapter(adapter);
   if (superAdapter != null) {
     return superAdapter;
   }
   if (adapter == org.eclipse.core.resources.IResource.class) {
     PersistableModelComponent comp = getPersistableComponent(false);
     if (comp != null) {
       return comp.getFile().getParent();
     }
   } else if (adapter == org.eclipse.core.resources.IFile.class) {
     PersistableModelComponent comp = getPersistableComponent(false);
     if (comp != null) {
       return comp.getFile();
     }
   }
   return null;
 }