The nodeDecorators package contains classes that use the Decorator pattern. The nodeDecorators package contains example decorators that alter node behaviour. For example, the DecodingNode class overrides the toPlainTextString() method of all nodes it wraps and applies the Translate class decode() method to the original node output:
StringBuffer content = new StringBuffer (1024);
StringNodeFactory factory = new StringNodeFactory ();
factory.setDecode (true);
createParser ("http://whatever");
parser.setNodeFactory (factory);
NodeIterator iterator = parser.elements ();
while (iterator.hasMoreNodes ())
    content.append (iterator.nextNode ().toPlainTextString ());
System.out.println (content.toString ());
Decorators are a powerful way of performing the same operation on every node.