public int compare(final EntityLinkEntity o1, final EntityLinkEntity o2) { if ((o1.isPrimary() && o2.isPrimary()) || (!o1.isPrimary() && !o2.isPrimary())) { final int result = o1.getTypeId().compareTo(o2.getTypeId()); return result != 0 ? result : o1.getKey().compareTo(o2.getKey()); } return o1.isPrimary() ? -1 : 1; } };