code: def materialize_directories(self, directories_paths_and_digests):
      
      # Ensure there isn't more than one of the same directory paths and paths do not have the same prefix.
      dir_list = [dpad.path for dpad in directories_paths_and_digests]
      check_no_overlapping_paths(dir_list)
  
      result = self._native.lib.materialize_directories(
        self._scheduler,
        self._to_value(_DirectoriesToMaterialize(directories_paths_and_digests)),
      )
      return self._raise_or_return(result)
docs: Creates the specified directories on the file system.
  
      :param directories_paths_and_digests tuple<DirectoryToMaterialize>: Tuple of the path and
             digest of the directories to materialize.
      :returns: Nothing or an error.