@ForOverride
  protected SoyValue computeFunctionHelper(
      SoyJavaSourceFunction fn, List<SoyValue> args, final FunctionNode fnNode) {
    try {
      return new TofuValueFactory(fnNode, pluginInstances).computeForJava(fn, args, context);
    } catch (Exception e) {
      throw RenderException.create(
          "While computing function \"" + fnNode.toSourceString() + "\": " + e.getMessage(), e);
    }
  }
@ ForOverride protected SoyValue computeFunctionHelper ( SoyJavaSourceFunction fn , List < SoyValue > args , final FunctionNode fnNode ) { try { return new TofuValueFactory ( fnNode , pluginInstances ) . computeForJava ( fn , args , context ) ; } catch ( Exception e ) { throw RenderException . create ( "While computing function \"" + fnNode . toSourceString ( ) + "\": " + e . getMessage ( ) , e ) ; } }
Protected helper for {@code computeFunction}.

@param fn The function object.
@param args The arguments to the function.
@param fnNode The function node. Only used for error reporting.
@return The result of the function called on the given arguments.