code: public Tree get(String expression) throws TreeBuilderException {
  		if (cache == null) {
  			return builder.build(expression);
  		}
  		Tree tree = cache.get(expression);
  		if (tree == null) {
  			cache.put(expression, tree = builder.build(expression));
  		}
  		return tree;
  	}
docs: Get a {@link Tree}.
  If a tree for the given expression is present in the cache, it is
  taken from there; otherwise, the expression string is parsed and
  the resulting tree is added to the cache.
  @param expression expression string
  @return expression tree