code: @edu.umd.cs.findbugs.annotations.SuppressWarnings(
        value="NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE",
        justification="Checked in precondition")
    static Path pathForDataset(Path root, @Nullable String namespace, @Nullable String name) {
      Preconditions.checkNotNull(namespace, "Namespace cannot be null");
      Preconditions.checkNotNull(name, "Dataset name cannot be null");
  
      // Why replace '.' here? Is this a namespacing hack?
      return new Path(root, new Path(namespace, name.replace('.', Path.SEPARATOR_CHAR)));
    }
docs: Returns the correct dataset path for the given name and root directory.
  
  @param root A Path
  @param name A String dataset name
  @return the correct dataset Path