code: public static void iterateTree (@Nonnull final IHCNode aNode, @Nonnull final IHCIteratorCallback aCallback)
    {
      ValueEnforcer.notNull (aNode, "node");
      ValueEnforcer.notNull (aCallback, "callback");
  
      // call callback on start node
      if (aCallback.call (null, aNode).isContinue ())
        _recursiveIterateTreeBreakable (aNode, aCallback);
    }
docs: Recursively iterate the node and all child nodes of the passed node. The
  difference to {@link #iterateChildren(IHCNode, IHCIteratorCallback)} is, that
  the callback is also invoked on the passed node.
  
  @param aNode
  The node to be iterated.
  @param aCallback
  The callback to be invoked on every child