public String[] getSubObjectNames() {
   String[] nameList = new String[subObjectSet.size()];
   int i = 0;
   for (SubObject subObject : subObjectSet) {
     nameList[i] = subObject.getName();
     i++;
   }
   return nameList;
 }
 @Override
 public boolean equals(Object obj) {
   if (obj instanceof SubObject) {
     SubObject s = (SubObject) obj;
     return name.equals(s.getName());
   } else if (obj instanceof String) {
     String s = (String) obj;
     return name.equals(s);
   }
   return false;
 }