public ConfigCatalog getCatalog(File baseDir, String matchRemaining, String filename, CatalogReader reader) throws IOException {
    String relLocation = (matchRemaining.length() >= 1) ? location + "/" + matchRemaining : location;
    File absLocation = new File(baseDir, relLocation);
    ConfigCatalog cc = reader.getFromAbsolutePath(absLocation + "/" + filename);
    if (cc == null)
      logger.warn("Cant find catalog from scan: " + absLocation + "/" + filename);
    return cc;
  }
public ConfigCatalog getCatalog(File baseDir, String matchRemaining, String filename, CatalogReader reader) throws IOException {
    String relLocation = (matchRemaining.length() >= 1) ? location + "/" + matchRemaining : location;
    File absLocation = new File(baseDir, relLocation);
    ConfigCatalog cc = reader.getFromAbsolutePath(absLocation + "/" + filename);
    if (cc == null)
      logger.warn("Cant find catalog from scan: " + absLocation + "/" + filename);
    return cc;
  }
public ConfigCatalog getCatalog ( File baseDir , String matchRemaining , String filename , CatalogReader reader ) throws IOException { String relLocation = ( matchRemaining . length ( ) >= 1 ) ? location + "/" + matchRemaining : location ; File absLocation = new File ( baseDir , relLocation ) ; ConfigCatalog cc = reader . getFromAbsolutePath ( absLocation + "/" + filename ) ; if ( cc == null ) logger . warn ( "Cant find catalog from scan: " + absLocation + "/" + filename ) ; return cc ; }
when we have a real catalog  (filename != CATSCAN)
when we have a real catalog ( filename ! = CATSCAN )