code: private void addPathToNameInternal(int type, Object name)
              throws IOException {
          // First, ensure that the name parses
          GeneralNameInterface tempName = makeGeneralNameInterface(type, name);
          if (pathToGeneralNames == null) {
              pathToNames = new HashSet<List<?>>();
              pathToGeneralNames = new HashSet<GeneralNameInterface>();
          }
          List<Object> list = new ArrayList<Object>(2);
          list.add(Integer.valueOf(type));
          list.add(name);
          pathToNames.add(list);
          pathToGeneralNames.add(tempName);
      }
docs: A private method that adds a name (String or byte array) to the
  pathToNames criterion. The {@code X509Certificate} must contain
  the specified pathToName.
  
  @param type the name type (0-8, as specified in
  RFC 3280, section 4.2.1.7)
  @param name the name in string or byte array form
  @throws IOException if an encoding error occurs (incorrect form for DN)