code: @Override
      public int compare(Field o1, Field o2) {
          int i = order.indexOf(o1.getId());
          int j = order.indexOf(o2.getId());
          if(i==j) return 0;
          if(i==-1 && j >= 0) return 1;
          if(j==-1 && i >= 0) return -1;
          return i - j;
      }
docs: Compare method.
  @param o1 First field to compare
  @param o2 Second field to compare
  @return The lesser looking at order property