@Override
    Object fromCompositeData(CompositeData cd, String[] itemNames, OpenTypeConverter[] converters) {
      final Class targetClass = getTargetClass();
      return Proxy.newProxyInstance(targetClass.getClassLoader(), new Class[] {targetClass},
          new CompositeDataInvocationHandler(cd));
    }
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