              value = value()
  
          if is_protected_type(value):
              return value
          elif hasattr(value, '__iter__') and not isinstance(value, (dict, six.string_types)):
              return [self.to_native(item) for item in value]
          elif isinstance(value, dict):
              # Make sure we preserve field ordering, if it exists
              ret = SortedDict()
              for key, val in value.items():
 
</s>
        elif (is_non_str_iterable(value) and
              not isinstance(value, (dict, six.string_types))):
              value = value()
  
          if is_protected_type(value):
              return value
        elif (is_non_str_iterable(value) and
              not isinstance(value, (dict, six.string_types))):
              return [self.to_native(item) for item in value]
          elif isinstance(value, dict):
              # Make sure we preserve field ordering, if it exists
              ret = SortedDict()
              for key, val in value.items():
keep keep keep keep replace keep keep keep keep keep
 Handle Python 3 strings and lazy strings.
rest_framework/fields.py