docs: @Override
      public int compareTo(ComparableField rhs) {
          if (rhs instanceof FieldDescriptor) {
              return FieldOrMethodDescriptor.compareTo(this, (FieldDescriptor) rhs);
          }
  
          if (rhs instanceof XField) {
              return XFactory.compare((XField) this, (XField) rhs);
          }
  
          throw new ClassCastException("Can't compare a " + this.getClass().getName() + " to a " + rhs.getClass().getName());
      }