<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _create_field_specification(schema_graph, graphql_types, field_type_overrides, hidden_classes, cls_name):
 """Return a function that specifies the fields present on the given type."""

    def field_maker_func():
        """Create and return the fields for the given GraphQL type."""
        result = EXTENDED_META_FIELD_DEFINITIONS.copy()
        result.update(OrderedDict([
            (name, GraphQLField(value))
            for name, value in sorted(six.iteritems(_get_fields_for_class(
                schema_graph, graphql_types, field_type_overrides, hidden_classes, cls_name)),
                key=lambda x: x[0])
        ]))
        return result

    return field_maker_func