@Override
  public final RTValue f(final RTResultFunction rootNode, final RTExecutionContext $ec)
      throws CALExecutorException {
    // Arguments
    RTValue record = rootNode.getArgValue();

    // Release the fields in the root node to open them to garbage collection
    rootNode.clearMembers();

    return f1S(RTValue.lastRef(record.evaluate($ec), record = null), $ec);
  }
 public final void setResult(RTValue res) {
   res = res.getValue();
   if (res != this) {
     result = res;
     if (parent == null) {
       if (res instanceof RTResultFunction) {
         ((RTResultFunction) res).setParent(this);
       }
     } else {
       parent.setResult(res);
     }
   }
 }