text: public override ValueEval Evaluate(int srcRowIndex, int srcColumnIndex, ValueEval serialNumVE, ValueEval returnTypeVE){double serialNum = 0.0;try{serialNum = NumericFunction.SingleOperandEvaluate(serialNumVE, srcRowIndex, srcColumnIndex);}catch (EvaluationException){return ErrorEval.VALUE_INVALID;}DateTime serialNumCalendar = DateUtil.GetJavaDate(serialNum, false);int returnType = 0;try{ValueEval ve = OperandResolver.GetSingleValue(returnTypeVE, srcRowIndex, srcColumnIndex);returnType = OperandResolver.CoerceValueToInt(ve);}catch (EvaluationException){return ErrorEval.NUM_ERROR;}if (returnType != 1 && returnType != 2){return ErrorEval.NUM_ERROR;}return new NumberEval(this.getWeekNo(serialNumCalendar, returnType));}