code: def flatten(self, redact=False):
          
          od = OrderedDict()
          for key, view in self.items():
              if redact and view.redact:
                  od[key] = REDACTED_TOMBSTONE
              else:
                  try:
                      od[key] = view.flatten(redact=redact)
                  except ConfigTypeError:
                      od[key] = view.get()
          return od
docs: Create a hierarchy of OrderedDicts containing the data from
          this view, recursively reifying all views to get their
          represented values.
  
          If `redact` is set, then sensitive values are replaced with
          the string "REDACTED".