'Returns an instance of FieldData wrapped by FieldOverrideProviders which
extend read-only functionality. If no MODULESTORE_FIELD_OVERRIDE_PROVIDERS
are configured, an unwrapped FieldData instance is returned.
Arguments:
block: An XBlock
field_data: An instance of FieldData to be wrapped'

@classmethod
def wrap(cls, block, field_data):

    if (cls.provider_classes is None):
        cls.provider_classes = [resolve_dotted(name) for name in settings.MODULESTORE_FIELD_OVERRIDE_PROVIDERS]
    enabled_providers = cls._providers_for_block(block)
    if enabled_providers:
        return cls(field_data, enabled_providers)
    return field_data
