code: protected boolean flow(DiGraphNode<N, Branch> node) {
      FlowState<L> state = node.getAnnotation();
      if (isForward()) {
        L outBefore = state.out;
        state.out = flowThrough(node.getValue(), state.in);
        return !outBefore.equals(state.out);
      } else {
        L inBefore = state.in;
        state.in = flowThrough(node.getValue(), state.out);
        return !inBefore.equals(state.in);
      }
    }
docs: Performs a single flow through a node.
  
  @return {@code true} if the flow state differs from the previous state.