code: private void resiftAffectedTransitions(final Set<ADTNode<ADTState<I, O>, I, O>> states,
                                             final ADTNode<ADTState<I, O>, I, O> finalizedADS) {
  
          for (final ADTNode<ADTState<I, O>, I, O> state : states) {
  
              final List<ADTTransition<I, O>> transitionsToRefine = state.getHypothesisState()
                                                                         .getIncomingTransitions()
                                                                         .stream()
                                                                         .filter(x -> !x.isSpanningTreeEdge())
                                                                         .collect(Collectors.toList());
  
              for (final ADTTransition<I, O> trans : transitionsToRefine) {
                  trans.setTarget(null);
                  trans.setSiftNode(finalizedADS);
                  this.openTransitions.add(trans);
              }
          }
      }
docs: Schedule all incoming transitions of the given states to be re-sifted against the given ADT (subtree).
  
  @param states
  A set of states, whose incoming transitions should be sifted
  @param finalizedADS
  the ADT (subtree) to sift through