tdcommon/src/main/java/thredds/server/catalog/DataRoot.java
public String getFileLocationFromRequestPath(String reqPath) {

    if (datasetScan != null) {
      // LOOK should check to see if its been filtered out by scan
      return getFileLocationFromRequestPath(reqPath, datasetScan.getPath(), datasetScan.getScanLocation(), false);

    } else if (catScan != null) {
      // LOOK should check to see if its allowed in fc
      return getFileLocationFromRequestPath(reqPath, catScan.getPath(), catScan.getLocation(), false);

    } else if (featCollection != null) {
      // LOOK should check to see if its allowed in fc
      return getFileLocationFromRequestPath(reqPath, featCollection.getPath(), featCollection.getTopDirectoryLocation(), true);

    } else {  // must be a datasetRoot
      // LOOK should check to see if it exists ??
      return getFileLocationFromRequestPath(reqPath, getPath(), getDirLocation(), false);
    }

  }
public String getFileLocationFromRequestPath(String reqPath) {

    if (datasetScan != null) {
      // LOOK should check to see if its been filtered out by scan
      return getFileLocationFromRequestPath(reqPath, datasetScan.getPath(), datasetScan.getScanLocation(), false);

    } else if (catScan != null) {
      // LOOK should check to see if its allowed in fc
      return getFileLocationFromRequestPath(reqPath, catScan.getPath(), catScan.getLocation(), false);

    } else if (featCollection != null) {
      // LOOK should check to see if its allowed in fc
      return getFileLocationFromRequestPath(reqPath, featCollection.getPath(), featCollection.getTopDirectoryLocation(), true);

    } else {  // must be a datasetRoot
      // LOOK should check to see if it exists ??
      return getFileLocationFromRequestPath(reqPath, getPath(), getDirLocation(), false);
    }

  }
//////////////