code: def _merge_dict(self, global_dict, local_dict):
          
  
          # Local has higher priority than global. So iterate over local dict and merge into global if keys are overridden
          global_dict = global_dict.copy()
  
          for key in local_dict.keys():
  
              if key in global_dict:
                  # Both local & global contains the same key. Let's do a merge.
                  global_dict[key] = self._do_merge(global_dict[key], local_dict[key])
  
              else:
                  # Key is not in globals, just in local. Copy it over
                  global_dict[key] = local_dict[key]
  
          return global_dict
docs: Merges the two dictionaries together
  
          :param global_dict: Global dictionary to be merged
          :param local_dict: Local dictionary to be merged
          :return: New merged dictionary with values shallow copied