code: @Override
    public synchronized void onNext(final RuntimeStart startTime) {
      if (this.isPidNotWritten()) {
        final long pid = OSUtils.getPID();
        final File outfile = new File(PID_FILE_NAME);
        LOG.log(Level.FINEST, "Storing pid `" + pid + "` in file " + outfile.getAbsolutePath());
        try (final PrintWriter p = new PrintWriter(PID_FILE_NAME, "UTF-8")) {
          p.write(String.valueOf(pid));
          p.write("\n");
        } catch (final FileNotFoundException | UnsupportedEncodingException e) {
          LOG.log(Level.WARNING, "Unable to create PID file.", e);
        }
        this.pidIsWritten = true;
      } else {
        LOG.log(Level.FINEST, "PID already written.");
      }
    }
docs: This call is idempotent: It will only write the PID exactly once per instance.
  
  @param startTime