/**
  * @param name the public name of the member to be found
  * @param project the project
  * @return the member
  */
 public ProjectMember findDiagramMemberByUniqueName(Project project, String name) {
   name = name + DIAGRAM_SUFFIX;
   Iterator iter = project.getMembers().iterator();
   while (iter.hasNext()) {
     ProjectMember element = (ProjectMember) iter.next();
     if (element instanceof ProjectMemberDiagram) {
       if (name.equals(element.getUniqueDiagramName())) {
         return element;
       }
     }
   }
   return null;
 }
 /**
  * Get a MemberFilePersister based on a given ProjectMember.
  *
  * @param pm the project member
  * @return the persister
  */
 protected MemberFilePersister getMemberFilePersister(ProjectMember pm) {
   Class<? extends MemberFilePersister> persister = null;
   if (persistersByClass.containsKey(pm)) {
     persister = persistersByClass.get(pm);
   } else {
     /*
      * TODO: Not sure we need to do this, but just to be safe for now.
      */
     for (Class clazz : persistersByClass.keySet()) {
       if (clazz.isAssignableFrom(pm.getClass())) {
         persister = persistersByClass.get(clazz);
         break;
       }
     }
   }
   if (persister != null) {
     return newPersister(persister);
   }
   return null;
 }