docs: public static File getNewSubroot() throws IOException {
          ensureUserRootExists();
          File tempFile = File.createTempFile("foo", "", m_root);
          if (!tempFile.delete()) {
              throw new IOException();
          }
          tempFile = new File(tempFile.getPath() + m_magic);
          if (!tempFile.mkdir()) {
              throw new IOException();
          }
          File tempDir = new File(tempFile, "tmp");
          if (!tempDir.mkdir()) {
              throw new IOException();
          }
          File tempUserDir = new File(tempDir, System.getProperty("user.name"));
          if (!tempUserDir.mkdir()) {
              throw new IOException();
          }
          return tempFile;
      }