File f = new File("..");
System.out.println(f.getAbsolutePath());
System.out.println(f.getCanonicalPath());

output:
D:\work\k\samples\test\..
D:\work\k\samples

So absolute path doesn't resolve relative paths, but canonical does:
"A canonical pathname is both absolute and unique.... This typically involves removing redundant names such as "." and ".." from the pathname, resolving symbolic links (on UNIX platforms), and converting drive letters to a standard case (on Microsoft Windows platforms)."

I want the ".." and "." to be eliminated. those are hard to follow or easy to overlook when viewing error messages.
Regarding symlinks, well... I agree... you may not want those to be resolved. Suggestions?