code: def _create_dict_with_nested_keys_and_val(cls, keys, value):
      
  
      if len(keys) > 1:
        new_keys = keys[:-1]
        new_val = {keys[-1]: value}
        return cls._create_dict_with_nested_keys_and_val(new_keys, new_val)
      elif len(keys) == 1:
        return {keys[0]: value}
      else:
        raise ValueError('Keys must contain at least one key.')
docs: Recursively constructs a nested dictionary with the keys pointing to the value.
  
      For example:
      Given the list of keys ['a', 'b', 'c', 'd'] and a primitive
      value 'hello world', the method will produce the nested dictionary
      {'a': {'b': {'c': {'d': 'hello world'}}}}. The number of keys in the list
      defines the depth of the nested dict. If the list of keys is ['a'] and
      the value is 'hello world', then the result would be {'a': 'hello world'}.
  
      :param list of string keys: A list of keys to be nested as a dictionary.
      :param primitive value: The value of the information being stored.
      :return: dict of nested keys leading to the value.