code: public static void iterateTreeNoCopy (@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 ())
        _recursiveIterateTreeBreakableNoCopy (aNode, aCallback);
    }
docs: Recursively iterate the node and all child nodes of the passed node. The
  difference to {@link #iterateChildrenNoCopy(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