code: private void pushNode(int node) {
      // Expand buffers if needed.
      if (position == arcs.length) {
        arcs = Arrays.copyOf(arcs, arcs.length + EXPECTED_MAX_STATES);
      }
  
      arcs[position++] = fsa.getFirstArc(node);
    }
docs: Descends to a given node, adds its arcs to the stack to be traversed.