static void mustBeComparable(Class collection, Type element) throws OpenDataException {
    if (!(element instanceof Class) || !Comparable.class.isAssignableFrom((Class<?>) element)) {
      final String msg = "Parameter class " + element + " of " + collection.getName()
          + " does not implement " + Comparable.class.getName();
      throw new OpenDataException(msg);
    }
  }
Builder if the target class is an interface and contains no methods other than getters. Then we
can make an instance using a dynamic proxy that forwards the getters to the source
CompositeData
geode-core/src/main/java/org/apache/geode/management/internal/OpenTypeConverter.java