docs: private static void ensureUserRootExists() throws IOException {
          if (!m_root.exists()) {
              if (!m_root.mkdir()) {
                  throw new IOException("Unable to create \"" + m_root + "\"");
              }
          }
          if (!m_root.isDirectory()) {
              throw new IOException("\"" + m_root + "\" exists but is not a directory");
          }
          if (!m_root.canRead()) {
              throw new IOException("\"" + m_root + "\" exists but is not readable");
          }
          if (!m_root.canWrite()) {
              throw new IOException("\"" + m_root + "\" exists but is not writable");
          }
          if (!m_root.canExecute()) {
              throw new IOException("\"" + m_root + "\" exists but is not executable");
          }
      }