code: private static void pushAnnotations(
        Deque<GraphAnnotationState> stack,
        Collection<? extends Annotatable> haveAnnotations) {
      stack.push(new GraphAnnotationState(haveAnnotations.size()));
      for (Annotatable h : haveAnnotations) {
        stack.peek().add(new AnnotationState(h, h.getAnnotation()));
        h.setAnnotation(null);
      }
    }
docs: Pushes a new list on stack and stores nodes annotations in the new list.
  Clears objects' annotations as well.