private void addBlocks(ReversiblePeekingIterable<Node> nodes) {
   for (Node child : nodes) {
     if (child instanceof Block) {
       allBlockParsersMap.putValueKey((Block) child, null);
     }
   }
 }
 @Override
 public void blockAdded(Block node) {
   validateLinked(node);
   allBlockParsersMap.putValueKey(node, null);
 }
 @Override
 public void blockAddedWithDescendants(Block node) {
   validateLinked(node);
   allBlockParsersMap.putValueKey(node, null);
   addBlocks(node.getDescendants());
 }
 @Override
 public void blockAddedWithChildren(Block node) {
   validateLinked(node);
   allBlockParsersMap.putValueKey(node, null);
   addBlocks(node.getChildren());
 }