docs: @FFDCIgnore(IOException.class)
      public static String fixPathString(File absPath) {
          //on windows.. the path from config can have a different case to the actual filesystem path
          //and when notifications come back, they'll come back with the actual filsystem casing.
          //so, so ensure we all agree on what that should be, for windows, we use canonical path.
          //
          //getCanonicalPath however, sees 'through' symlinks, which means if we use it on paths
          //that are symlinked into the app, we'll see the actual paths instead of the symlinked ones.
          //
          //getCanonicalPath on windows however just happens not to be able to see through windows
          //symlinks (which are infrequently used anyways), so we're still safe to use it there, and
          //non-windows platforms are just fine sticking with the casing of the path supplied via
          //config.
          //
          //A future alternative will be to use File.toPath().getRealPath(LinkOptions.NOFOLLOW_LINKS);
          //when Liberty is java7 only..
          if (isWindows) {
              try {
                  return absPath.getCanonicalPath();
              } catch (IOException e) {
                  // Bad path. Try the simpler normalization (which always works), but this may fail elsewhere.
                  // Note manual FFDC. Apparently injection is not applied here.
                  FFDCFilter.processException(e, PathUtils.class.getName(), "67");
                  return absPath.getAbsolutePath();
              }
          } else {
              return absPath.getAbsolutePath();
          }
      }