code: private Path find(String namespace, String name) {
      Path expectedPath = pathForMetadata(namespace, name);
      if (DEFAULT_NAMESPACE.equals(namespace)) {
        // when using the default namespace, the namespace may not be in the path
        try {
          checkExists(rootFileSystem, expectedPath);
          return expectedPath;
        } catch (DatasetNotFoundException e) {
          try {
            Path backwardCompatiblePath = new Path(rootDirectory, new Path(
                name.replace('.', Path.SEPARATOR_CHAR), METADATA_DIRECTORY));
            checkExists(rootFileSystem, backwardCompatiblePath);
            return backwardCompatiblePath;
          } catch (DatasetNotFoundException _) {
            throw e; // throw the original
          }
        }
  
      } else {
        // no need to check other locations
        checkExists(rootFileSystem, expectedPath);
        return expectedPath;
      }
    }
docs: This method provides backward-compatibility for finding metadata.
  <p>
  This handles the case where an existing program is opening a
  DatasetRepository by URI. For example, the DatasetSink and maven plugin do
  this. In that case, the repository URI will directly contain a directory
  named for the dataset with .metadata in it. This checks for the updated
  scheme and falls back to the old scheme if the namespace is "default".
  
  @param namespace the requested namespace.
  @param name the dataset name.
  @return a Path to the correct metadata directory
  @throws DatasetNotFoundException if neither location has metadata