code: public static ProcessInitException newInstance(String prefix, IOException e) {
      String m = e.getMessage();
      if (m == null) {
        return null;
      }
      int i = m.lastIndexOf(BEFORE_CODE);
      if (i == -1) {
        return null;
      }
      int j = m.indexOf(AFTER_CODE, i);
      if (j == -1) {
        return null;
      }
      int code;
      try {
        code = Integer.parseInt(m.substring(i + BEFORE_CODE.length(), j));
      }
      catch (NumberFormatException n) {
        return null;
      }
      return new ProcessInitException(prefix + NEW_INFIX + m.substring(i + BEFORE_CODE.length()), e, code);
    }
docs: Try to wrap a given {@link IOException} into a {@link ProcessInitException}.
  
  @param prefix prefix to be added in the message.
  @param e existing exception possibly containing an error code in its message.
  @return new exception containing the prefix, error code and its description in the message plus the error code value as a field,
  <code>null</code> if we were unable to find an error code from the original message.