public ValueEval evaluate(ValueEval[] args, int srcRowIndex, int srcColumnIndex) {if (args.length < 2) {return ErrorEval.VALUE_INVALID;}try {int ix = evaluateFirstArg(args[0], srcRowIndex, srcColumnIndex);if (ix < 1 || ix >= args.length) {return ErrorEval.VALUE_INVALID;}ValueEval result = OperandResolver.getSingleValue(args[ix], srcRowIndex, srcColumnIndex);if (result == MissingArgEval.instance) {return BlankEval.instance;}return result;} catch (EvaluationException e) {return e.getErrorEval();}}

public ValueEval Evaluate(ValueEval[] args, int srcRowIndex, int srcColumnIndex){if (args.Length < 2){return ErrorEval.VALUE_INVALID;}try{int ix = EvaluateFirstArg(args[0], srcRowIndex, srcColumnIndex);if (ix < 1 || ix >= args.Length){return ErrorEval.VALUE_INVALID;}ValueEval result = OperandResolver.GetSingleValue(args[ix], srcRowIndex, srcColumnIndex);if (result == MissingArgEval.instance){return BlankEval.instance;}return result;}catch (EvaluationException e){return e.GetErrorEval();}}
