docs: def load(self):
          """
          _load_
  
          Load the defaults file if specified
          and overlay the json file on top of that
  
          """
          if self._defaults_file is not None:
              if not os.path.exists(self._defaults_file):
                  msg = "Unable to find defaults file: {}".format(self._defaults_file)
                  LOGGER.error(msg)
                  raise RuntimeError(msg)
              with open(self._defaults_file, 'r') as handle:
                  self._defaults = json.load(handle)
                  self.update(self._defaults)
  
          if self._settings_file is None:
              msg = "No context file has been provided"
              LOGGER.error(msg)
              raise RuntimeError(msg)
          if not os.path.exists(self._settings_file):
              msg = "Unable to find settings file: {}".format(self._settings_file)
              LOGGER.error(msg)
              raise RuntimeError(msg)
          with open(self._settings_file, 'r') as handle:
              settings = json.load(handle)
              update(self, settings)
  
          return