code: public String interpolate( String input, RecursionInterceptor recursionInterceptor )
  	        throws InterpolationException
  	    {
  	        try
  	        {
  	            return interpolate( input, recursionInterceptor, new HashSet<String>() );
  	        }
  	        finally
  	        {
  	            if ( !cacheAnswers )
  	            {
  	                existingAnswers.clear();
  	            }
  	        }
  	    }
docs: Entry point for recursive resolution of an expression and all of its
  nested expressions.
  
  @todo Ensure unresolvable expressions don't trigger infinite recursion.