docs: public static File getPathtoProject(final URI filename, final URI traceFilename, final URI inputMap, final Job job) {
          assert traceFilename.isAbsolute();
          assert inputMap.isAbsolute();
          // FIXME out generation has already been determined, why do it here again?
          if (job.getGeneratecopyouter() != Generate.OLDSOLUTION) {
              if (isOutFile(traceFilename, inputMap)) {
                  return toFile(getRelativePathFromOut(traceFilename, job));
              } else {
                  return toFile(getRelativePath(traceFilename, inputMap)).getParentFile();
              }
          } else {
              return toFile(URLUtils.getRelativePath(filename));
          }
      }