code: final int getDestinationNodeOffset(int arc) {
      if (isNextSet(arc)) {
        /* Follow until the last arc of this state. */
        while (!isArcLast(arc)) {
          arc = getNextArc(arc);
        }
  
        /* And return the byte right after it. */
        return skipArc(arc);
      } else {
        /*
         * The destination node address is v-coded. v-code starts either
         * at the next byte (label indexed) or after the next byte (label explicit).
         */
        return readVInt(arcs, arc + ((arcs[arc] & LABEL_INDEX_MASK) == 0 ? 2 : 1));
      }
    }
docs: Returns the address of the node pointed to by this arc.