/** Test whether the (unordered) object class lists of two attributes contain the same */ public boolean objectClassesChanged(DXAttributes a, DXAttributes b) { boolean result = false; try { String[] A = getAttributeValuesAsStringArray(a.getAllObjectClasses()); String[] B = getAttributeValuesAsStringArray(b.getAllObjectClasses()); Object[] test = CBArray.difference(A, B); if (test.length > 0) result = true; test = CBArray.difference(B, A); if (test.length > 0) result = true; return result; } catch (NamingException e) { log.log(Level.WARNING, "Error in TableAttributeEditor:objectClassesChanged ", e); return true; } }