code: def _dotted_get(self, dotted_key, default=None, **kwargs):
          
          split_key = dotted_key.split(".")
          name, keys = split_key[0], split_key[1:]
          result = self.get(name, default=default, **kwargs)
          self._memoized = result
  
          # If we've reached the end, then return result and clear the
          # memoized data.
          if not keys or result is default:
              self._memoized = None
              return result
  
          # If we've still got key elements to traverse, let's do that.
          return self._dotted_get(".".join(keys), default=default, **kwargs)
docs: Perform dotted key lookups and keep track of where we are.