docs: @Trivial
      @FFDCIgnore(PrivilegedActionException.class)
      private static String getCanonicalPath(final File file) throws IOException{
          if ( System.getSecurityManager() == null ) {
              return file.getCanonicalPath(); // throws IOException
  
          } else {
              try {
                  return AccessController.doPrivileged( new PrivilegedExceptionAction<String>() {
                      @Override
                      public String run() throws IOException {
                          return file.getCanonicalPath(); // throws IOException
                      }
                  } );
              } catch ( PrivilegedActionException e ) {
                  throw (IOException) e.getException();
              }
          }
      }