+ @Override
+ GeneratedType runtimeJavaType() {
+ return generatedType().orElse(null);
+ }
+
+ @Override
+ KeyRuntimeType createExternalRuntimeType(final Type type) {
+ verify(type instanceof GeneratedTransferObject, "Unexpected type %s", type);
+ return new DefaultKeyRuntimeType((GeneratedTransferObject) type, statement());
+ }
+
+ @Override
+ KeyRuntimeType createInternalRuntimeType(final ChildLookup lookup,final KeyEffectiveStatement statement,
+ final Type type) {
+ // The only reference to this runtime type is from ListGenerator which is always referencing the external type
+ throw new UnsupportedOperationException("Should never be called");
+ }
+