if (c1 instanceof NodeComponent || c2 instanceof NodeComponent || c1.getFullName().startsWith(new SimpleName("Combo")) || c2.getFullName().startsWith(new SimpleName("Combo"))) return c1.getShortName().compareTo(c2.getShortName()); else return c1.getFullName().compareTo(c2.getFullName());
return c1.getShortName().compareTo(c2.getShortName());
    public int compare(Object o1, Object o2) {      BaseComponent c1 = (BaseComponent) o1;      BaseComponent c2 = (BaseComponent) o2;      // In general, agent names from built in societies are complex      // and those from the db are short - they just start with "Combo"      // as components, but in runtime that is dropped      // The complex ones should be compared in full,      // while the DB ones should only be compared in short versions      // And Nodes are also short only      // Failing to compare only the short names when using DB societies      // results in agents erroneously appearing 2x, once unassigned      if (c1 instanceof NodeComponent || c2 instanceof NodeComponent || c1.getFullName().startsWith(new SimpleName("Combo")) || c2.getFullName().startsWith(new SimpleName("Combo")))	return c1.getShortName().compareTo(c2.getShortName());      else	return c1.getFullName().compareTo(c2.getFullName());	    }