/// Associate a property with a parse tree node. Useful with parse tree listeners
/// that need to associate values with particular tree nodes, kind of like
/// specifying a return value for the listener event method that visited a
/// particular node. Example:
///
///
/// ParseTreeProperty<Integer> values = new ParseTreeProperty<Integer>();
/// values.put(tree, 36);
/// int x = values.get(tree);
/// values.removeFrom(tree);
///
///
/// You would make one decl (values here) in the listener and use lots of times
/// in your event methods.
///
template