code: def _original_path(self, path):
          
  
          def components_to_path():
              if len(path_components) > len(normalized_components):
                  normalized_components.extend(
                      path_components[len(normalized_components):])
              sep = self._path_separator(path)
              normalized_path = sep.join(normalized_components)
              if path.startswith(sep) and not normalized_path.startswith(sep):
                  normalized_path = sep + normalized_path
              return normalized_path
  
          if self.is_case_sensitive or not path:
              return path
          path_components = self._path_components(path)
          normalized_components = []
          current_dir = self.root
          for component in path_components:
              if not isinstance(current_dir, FakeDirectory):
                  return components_to_path()
              dir_name, current_dir = self._directory_content(
                  current_dir, component)
              if current_dir is None or (
                              isinstance(current_dir, FakeDirectory) and
                              current_dir._byte_contents is None and
                              current_dir.st_size == 0):
                  return components_to_path()
              normalized_components.append(dir_name)
          return components_to_path()
docs: Return a normalized case version of the given path for
          case-insensitive file systems. For case-sensitive file systems,
          return path unchanged.
  
          Args:
              path: the file path to be transformed
  
          Returns:
              A version of path matching the case of existing path elements.