protected virtual EXPR_ITEM CloneExprItem(openehr.openehr.am.archetype.assertion.EXPR_BINARY_OPERATOR o)
        {
            EXPR_BINARY_OPERATOR result = new EXPR_BINARY_OPERATOR();

            if (o.type() != null)
                result.type = o.type().ToString();

            result.precedence_overridden = o.precedence_overridden();

            if (o.@operator().value() >= 2001 && o.@operator().value() <= 2020)
                result.@operator = ((OPERATOR_KIND)o.@operator().value()) - 2001;

            if (o.left_operand() != null)
                result.left_operand = CloneExprItem(o.left_operand());

            if (o.right_operand() != null)
                result.right_operand = CloneExprItem(o.right_operand());

            return result;
        }