public override ScriptVariableType Process(ScriptParser parser, int level)
        {
            base.Process(parser, level);

            ScriptVariableType retType1, retType2;

            Condition = TypeCastExecutionNode.ImplicitCast(parser, level + 1, ScriptVariableType.Bool, Condition);

            retType1 = TrueNode.Process(parser, level + 1);
            retType2 = FalseNode.Process(parser, level + 1);

            if (retType1 != retType2)
            {
                parser.Errors.Add(new ErrorInfo(ErrorLevel.Error, ErrorCode.TrueAndFalseNodesMustBeOfSameValueInTernaryOperation, this, retType1, retType2));
            }

            return(retType1);
        }