/**
  * Sorts using first the editorID (alphabetically) then the indexHint and finally the class-name
  * of the pageFactory.
  */
 @Override
 public int compareTo(EntityEditorPageSettings o) {
   if (o == null) return -1;
   // null-checks of members is in constructor.
   if (!Util.equals(editorID, o.editorID)) this.editorID.compareTo(o.editorID);
   if (indexHint == o.indexHint)
     return pageFactory.getClass().getName().compareTo(o.pageFactory.getClass().getName());
   return indexHint - o.indexHint;
 }
 @Override
 public String toString() {
   return this.getClass().getName()
       + '@'
       + Integer.toHexString(System.identityHashCode(this))
       + "["
       + (pageFactory != null ? pageFactory.getClass().getName() : "no-page-factory")
       + ","
       + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
       editorID
       + ", "
       + indexHint
       + "]"; //$NON-NLS-1$ //$NON-NLS-2$
 }