docs: public static GraphQLFieldDefinition getFieldDef(GraphQLSchema schema, GraphQLCompositeType parentType, String fieldName) {
  
          if (schema.getQueryType() == parentType) {
              if (fieldName.equals(SchemaMetaFieldDef.getName())) {
                  return SchemaMetaFieldDef;
              }
              if (fieldName.equals(TypeMetaFieldDef.getName())) {
                  return TypeMetaFieldDef;
              }
          }
          if (fieldName.equals(TypeNameMetaFieldDef.getName())) {
              return TypeNameMetaFieldDef;
          }
  
          assertTrue(parentType instanceof GraphQLFieldsContainer, "should not happen : parent type must be an object or interface %s", parentType);
          GraphQLFieldsContainer fieldsContainer = (GraphQLFieldsContainer) parentType;
          GraphQLFieldDefinition fieldDefinition = schema.getCodeRegistry().getFieldVisibility().getFieldDefinition(fieldsContainer, fieldName);
          Assert.assertTrue(fieldDefinition != null, "Unknown field '%s'", fieldName);
          return fieldDefinition;
      }