code: @Nonnull
      public static File canonize(@Nonnull final File pFile)
      {
          String resultPath = null;
          try {
              resultPath = pFile.getCanonicalPath();
          }
          catch (IOException e) {
              resultPath = pFile.getAbsolutePath();
          }
          return new File(standardizeSlashes(resultPath));
      }
docs: Calls getCanonicalFile() on the given File; if that doesn't work, call getAbsoluteFile() on it. Thus, the
  resulting file is not guaranteed to exist. Separator characters are standardized to {@link File#separatorChar}.
  
  @param pFile a file
  @return the canonical representation, or the absolute representation