shouldn't we use getCanonicalFile() instead of getAbsoluteFile() for the comparisons!?