code: private static synchronized PortFile getPortFile(String filename) throws FileNotFoundException {
          if (allPortFiles == null) {
              allPortFiles = new HashMap<String, PortFile>();
          }
          PortFile pf = allPortFiles.get(filename);
          if (pf == null) {
              pf = new PortFile(filename);
              allPortFiles.put(filename, pf);
          }
          return pf;
      }
docs: Acquire the port file. Synchronized since several threads inside an smart javac wrapper client acquires the same port file at the same time.