/*
   * Private build forward method.
   */
  private void buildForward(
      List<List<Vertex>> adjacencyList,
      LinkedList<X509Certificate> certPathList,
      boolean searchAllCertStores)
      throws GeneralSecurityException, IOException {
    if (debug != null) {
      debug.println("SunCertPathBuilder.buildForward()...");
    }

    /* Initialize current state */
    ForwardState currentState = new ForwardState();
    currentState.initState(buildParams.certPathCheckers());

    /* Initialize adjacency list */
    adjacencyList.clear();
    adjacencyList.add(new LinkedList<Vertex>());

    currentState.untrustedChecker = new UntrustedChecker();

    depthFirstSearchForward(
        buildParams.targetSubject(),
        currentState,
        new ForwardBuilder(buildParams, searchAllCertStores),
        adjacencyList,
        certPathList);
  }