code: def _create_structure(self):
          
  
          # Ensure that the specified path does not exist and create it.
          if _path_exists(self._abspath):
              raise(StorageBrokerOSError(
                  "Path already exists: {}".format(self._abspath)
              ))
  
          # Make sure the parent collection exists.
          parent, _ = os.path.split(self._abspath)
          if not _path_exists(parent):
              raise(StorageBrokerOSError(
                  "No such iRODS collection: {}".format(parent)))
  
          _mkdir(self._abspath)
  
          # Create more essential subdirectories.
          essential_subdirectories = [
              self._dtool_abspath,
              self._data_abspath,
              self._overlays_abspath
          ]
          for abspath in essential_subdirectories:
              _mkdir_if_missing(abspath)
docs: Create necessary structure to hold a dataset.