private static Type ultimateComponentType(GenericArrayType gat) {
    Type component = gat.getGenericComponentType();
    if (component instanceof GenericArrayType) {
      return ultimateComponentType((GenericArrayType) component);
    } else {
      return component;
    }
  }
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