All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.ciera.tool.sql.architecture.expression.impl.ExpressionImpl Maven / Gradle / Ivy

package io.ciera.tool.sql.architecture.expression.impl;


import io.ciera.runtime.instanceloading.AttributeChangedDelta;
import io.ciera.runtime.instanceloading.InstanceCreatedDelta;
import io.ciera.runtime.summit.application.IRunContext;
import io.ciera.runtime.summit.classes.IInstanceIdentifier;
import io.ciera.runtime.summit.classes.InstanceIdentifier;
import io.ciera.runtime.summit.classes.ModelInstance;
import io.ciera.runtime.summit.exceptions.EmptyInstanceException;
import io.ciera.runtime.summit.exceptions.InstancePopulationException;
import io.ciera.runtime.summit.exceptions.XtumlException;
import io.ciera.runtime.summit.types.IWhere;
import io.ciera.runtime.summit.types.IXtumlType;
import io.ciera.runtime.summit.types.StringUtil;
import io.ciera.runtime.summit.types.UniqueId;
import io.ciera.tool.Sql;
import io.ciera.tool.sql.architecture.expression.ActualParameter;
import io.ciera.tool.sql.architecture.expression.Any;
import io.ciera.tool.sql.architecture.expression.ArrayElementReference;
import io.ciera.tool.sql.architecture.expression.ArrayLengthAccess;
import io.ciera.tool.sql.architecture.expression.AttributeAccess;
import io.ciera.tool.sql.architecture.expression.BinaryOperation;
import io.ciera.tool.sql.architecture.expression.ConstantReference;
import io.ciera.tool.sql.architecture.expression.Creation;
import io.ciera.tool.sql.architecture.expression.EnumeratorReference;
import io.ciera.tool.sql.architecture.expression.EventCreation;
import io.ciera.tool.sql.architecture.expression.Expression;
import io.ciera.tool.sql.architecture.expression.Invocation;
import io.ciera.tool.sql.architecture.expression.Literal;
import io.ciera.tool.sql.architecture.expression.MemberReference;
import io.ciera.tool.sql.architecture.expression.NamedReference;
import io.ciera.tool.sql.architecture.expression.ParameterReference;
import io.ciera.tool.sql.architecture.expression.ParenthesizedExpression;
import io.ciera.tool.sql.architecture.expression.Promotion;
import io.ciera.tool.sql.architecture.expression.Select;
import io.ciera.tool.sql.architecture.expression.SelectRelated;
import io.ciera.tool.sql.architecture.expression.Selected;
import io.ciera.tool.sql.architecture.expression.UnaryOperation;
import io.ciera.tool.sql.architecture.expression.VariableReference;
import io.ciera.tool.sql.architecture.expression.Where;
import io.ciera.tool.sql.architecture.expression.impl.ActualParameterImpl;
import io.ciera.tool.sql.architecture.expression.impl.AnyImpl;
import io.ciera.tool.sql.architecture.expression.impl.ArrayElementReferenceImpl;
import io.ciera.tool.sql.architecture.expression.impl.ArrayLengthAccessImpl;
import io.ciera.tool.sql.architecture.expression.impl.AttributeAccessImpl;
import io.ciera.tool.sql.architecture.expression.impl.BinaryOperationImpl;
import io.ciera.tool.sql.architecture.expression.impl.ConstantReferenceImpl;
import io.ciera.tool.sql.architecture.expression.impl.CreationImpl;
import io.ciera.tool.sql.architecture.expression.impl.EnumeratorReferenceImpl;
import io.ciera.tool.sql.architecture.expression.impl.EventCreationImpl;
import io.ciera.tool.sql.architecture.expression.impl.InvocationImpl;
import io.ciera.tool.sql.architecture.expression.impl.LiteralImpl;
import io.ciera.tool.sql.architecture.expression.impl.MemberReferenceImpl;
import io.ciera.tool.sql.architecture.expression.impl.NamedReferenceImpl;
import io.ciera.tool.sql.architecture.expression.impl.ParameterReferenceImpl;
import io.ciera.tool.sql.architecture.expression.impl.ParenthesizedExpressionImpl;
import io.ciera.tool.sql.architecture.expression.impl.PromotionImpl;
import io.ciera.tool.sql.architecture.expression.impl.SelectImpl;
import io.ciera.tool.sql.architecture.expression.impl.SelectRelatedImpl;
import io.ciera.tool.sql.architecture.expression.impl.SelectedImpl;
import io.ciera.tool.sql.architecture.expression.impl.UnaryOperationImpl;
import io.ciera.tool.sql.architecture.expression.impl.VariableReferenceImpl;
import io.ciera.tool.sql.architecture.expression.impl.WhereImpl;
import io.ciera.tool.sql.architecture.statement.DeleteSmt;
import io.ciera.tool.sql.architecture.statement.DeleteSmtSet;
import io.ciera.tool.sql.architecture.statement.ExpressionAsStatement;
import io.ciera.tool.sql.architecture.statement.ForSmt;
import io.ciera.tool.sql.architecture.statement.Generate;
import io.ciera.tool.sql.architecture.statement.IfSmt;
import io.ciera.tool.sql.architecture.statement.RelateSmt;
import io.ciera.tool.sql.architecture.statement.ReturnSmt;
import io.ciera.tool.sql.architecture.statement.Statement;
import io.ciera.tool.sql.architecture.statement.UnrelateSmt;
import io.ciera.tool.sql.architecture.statement.WhileSmt;
import io.ciera.tool.sql.architecture.statement.impl.DeleteSmtSetImpl;
import io.ciera.tool.sql.architecture.statement.impl.ExpressionAsStatementImpl;
import io.ciera.tool.sql.architecture.statement.impl.ForSmtImpl;
import io.ciera.tool.sql.architecture.statement.impl.GenerateImpl;
import io.ciera.tool.sql.architecture.statement.impl.IfSmtImpl;
import io.ciera.tool.sql.architecture.statement.impl.RelateSmtImpl;
import io.ciera.tool.sql.architecture.statement.impl.ReturnSmtImpl;
import io.ciera.tool.sql.architecture.statement.impl.StatementImpl;
import io.ciera.tool.sql.architecture.statement.impl.UnrelateSmtImpl;
import io.ciera.tool.sql.architecture.statement.impl.WhileSmtImpl;
import io.ciera.tool.sql.architecture.type.TypeReference;
import io.ciera.tool.sql.architecture.type.impl.TypeReferenceImpl;


public class ExpressionImpl extends ModelInstance implements Expression {

    public static final String KEY_LETTERS = "Expression";
    public static final Expression EMPTY_EXPRESSION = new EmptyExpression();

    private Sql context;

    // constructors
    private ExpressionImpl( Sql context ) {
        this.context = context;
        ref_parent_name = "";
        ref_parent_package = "";
        ref_body_name = "";
        ref_block_number = "";
        ref_statement_number = "";
        m_expression_number = "";
        ref_type_name = "";
        ref_type_package = "";
        ref_type_reference_name = "";
        R3900_is_root_for_ArrayElementReference_inst = ArrayElementReferenceImpl.EMPTY_ARRAYELEMENTREFERENCE;
        R3901_is_index_for_ArrayElementReference_inst = ArrayElementReferenceImpl.EMPTY_ARRAYELEMENTREFERENCE;
        R3902_EventCreation_inst = EventCreationImpl.EMPTY_EVENTCREATION;
        R3903_EventCreation_inst = EventCreationImpl.EMPTY_EVENTCREATION;
        R3907_promoted_by_Promotion_inst = PromotionImpl.EMPTY_PROMOTION;
        R462_is_deleted_by_DeleteSmt_set = new DeleteSmtSetImpl();
        R471_determines_execution_of_blocks_for_IfSmt_inst = IfSmtImpl.EMPTY_IFSMT;
        R472_determines_execution_of_block_for_WhileSmt_inst = WhileSmtImpl.EMPTY_WHILESMT;
        R473_defines_return_value_for_ReturnSmt_inst = ReturnSmtImpl.EMPTY_RETURNSMT;
        R476_executed_by_ExpressionAsStatement_inst = ExpressionAsStatementImpl.EMPTY_EXPRESSIONASSTATEMENT;
        R478_is_iterated_by_ForSmt_inst = ForSmtImpl.EMPTY_FORSMT;
        R479_related_to_participant_by_RelateSmt_inst = RelateSmtImpl.EMPTY_RELATESMT;
        R480_related_to_formalizer_by_RelateSmt_inst = RelateSmtImpl.EMPTY_RELATESMT;
        R482_unrelated_from_formalizer_by_UnrelateSmt_inst = UnrelateSmtImpl.EMPTY_UNRELATESMT;
        R483_unrelated_from_participant_by_UnrelateSmt_inst = UnrelateSmtImpl.EMPTY_UNRELATESMT;
        R486_Generate_inst = GenerateImpl.EMPTY_GENERATE;
        R775_expressed_within_Statement_inst = StatementImpl.EMPTY_STATEMENT;
        R776_is_a_Any_inst = AnyImpl.EMPTY_ANY;
        R776_is_a_ArrayElementReference_inst = ArrayElementReferenceImpl.EMPTY_ARRAYELEMENTREFERENCE;
        R776_is_a_ArrayLengthAccess_inst = ArrayLengthAccessImpl.EMPTY_ARRAYLENGTHACCESS;
        R776_is_a_AttributeAccess_inst = AttributeAccessImpl.EMPTY_ATTRIBUTEACCESS;
        R776_is_a_BinaryOperation_inst = BinaryOperationImpl.EMPTY_BINARYOPERATION;
        R776_is_a_ConstantReference_inst = ConstantReferenceImpl.EMPTY_CONSTANTREFERENCE;
        R776_is_a_Creation_inst = CreationImpl.EMPTY_CREATION;
        R776_is_a_EnumeratorReference_inst = EnumeratorReferenceImpl.EMPTY_ENUMERATORREFERENCE;
        R776_is_a_EventCreation_inst = EventCreationImpl.EMPTY_EVENTCREATION;
        R776_is_a_Invocation_inst = InvocationImpl.EMPTY_INVOCATION;
        R776_is_a_Literal_inst = LiteralImpl.EMPTY_LITERAL;
        R776_is_a_MemberReference_inst = MemberReferenceImpl.EMPTY_MEMBERREFERENCE;
        R776_is_a_NamedReference_inst = NamedReferenceImpl.EMPTY_NAMEDREFERENCE;
        R776_is_a_ParameterReference_inst = ParameterReferenceImpl.EMPTY_PARAMETERREFERENCE;
        R776_is_a_ParenthesizedExpression_inst = ParenthesizedExpressionImpl.EMPTY_PARENTHESIZEDEXPRESSION;
        R776_is_a_Promotion_inst = PromotionImpl.EMPTY_PROMOTION;
        R776_is_a_Select_inst = SelectImpl.EMPTY_SELECT;
        R776_is_a_Selected_inst = SelectedImpl.EMPTY_SELECTED;
        R776_is_a_UnaryOperation_inst = UnaryOperationImpl.EMPTY_UNARYOPERATION;
        R776_is_a_VariableReference_inst = VariableReferenceImpl.EMPTY_VARIABLEREFERENCE;
        R776_is_a_Where_inst = WhereImpl.EMPTY_WHERE;
        R777_is_single_operand_for_UnaryOperation_inst = UnaryOperationImpl.EMPTY_UNARYOPERATION;
        R778_is_right_operand_for_BinaryOperation_inst = BinaryOperationImpl.EMPTY_BINARYOPERATION;
        R779_is_left_operand_for_BinaryOperation_inst = BinaryOperationImpl.EMPTY_BINARYOPERATION;
        R783_is_basis_for_Any_inst = AnyImpl.EMPTY_ANY;
        R784_is_wrapped_in_parentheses_by_ParenthesizedExpression_inst = ParenthesizedExpressionImpl.EMPTY_PARENTHESIZEDEXPRESSION;
        R785_is_used_as_basis_for_AttributeAccess_inst = AttributeAccessImpl.EMPTY_ATTRIBUTEACCESS;
        R787_is_used_as_basis_for_MemberReference_inst = MemberReferenceImpl.EMPTY_MEMBERREFERENCE;
        R790_filtered_by_Where_inst = WhereImpl.EMPTY_WHERE;
        R791_is_basis_for_SelectRelated_inst = SelectRelatedImpl.EMPTY_SELECTRELATED;
        R794_defines_value_for_ActualParameter_inst = ActualParameterImpl.EMPTY_ACTUALPARAMETER;
        R795_expresses_value_of_TypeReference_inst = TypeReferenceImpl.EMPTY_TYPEREFERENCE;
        R796_defines_condtion_for_Where_inst = WhereImpl.EMPTY_WHERE;
        R798_is_used_as_basis_for_Invocation_inst = InvocationImpl.EMPTY_INVOCATION;
    }

    private ExpressionImpl( Sql context, UniqueId instanceId, String ref_parent_name, String ref_parent_package, String ref_body_name, String ref_block_number, String ref_statement_number, String m_expression_number, String ref_type_name, String ref_type_package, String ref_type_reference_name ) {
        super(instanceId);
        this.context = context;
        this.ref_parent_name = ref_parent_name;
        this.ref_parent_package = ref_parent_package;
        this.ref_body_name = ref_body_name;
        this.ref_block_number = ref_block_number;
        this.ref_statement_number = ref_statement_number;
        this.m_expression_number = m_expression_number;
        this.ref_type_name = ref_type_name;
        this.ref_type_package = ref_type_package;
        this.ref_type_reference_name = ref_type_reference_name;
        R3900_is_root_for_ArrayElementReference_inst = ArrayElementReferenceImpl.EMPTY_ARRAYELEMENTREFERENCE;
        R3901_is_index_for_ArrayElementReference_inst = ArrayElementReferenceImpl.EMPTY_ARRAYELEMENTREFERENCE;
        R3902_EventCreation_inst = EventCreationImpl.EMPTY_EVENTCREATION;
        R3903_EventCreation_inst = EventCreationImpl.EMPTY_EVENTCREATION;
        R3907_promoted_by_Promotion_inst = PromotionImpl.EMPTY_PROMOTION;
        R462_is_deleted_by_DeleteSmt_set = new DeleteSmtSetImpl();
        R471_determines_execution_of_blocks_for_IfSmt_inst = IfSmtImpl.EMPTY_IFSMT;
        R472_determines_execution_of_block_for_WhileSmt_inst = WhileSmtImpl.EMPTY_WHILESMT;
        R473_defines_return_value_for_ReturnSmt_inst = ReturnSmtImpl.EMPTY_RETURNSMT;
        R476_executed_by_ExpressionAsStatement_inst = ExpressionAsStatementImpl.EMPTY_EXPRESSIONASSTATEMENT;
        R478_is_iterated_by_ForSmt_inst = ForSmtImpl.EMPTY_FORSMT;
        R479_related_to_participant_by_RelateSmt_inst = RelateSmtImpl.EMPTY_RELATESMT;
        R480_related_to_formalizer_by_RelateSmt_inst = RelateSmtImpl.EMPTY_RELATESMT;
        R482_unrelated_from_formalizer_by_UnrelateSmt_inst = UnrelateSmtImpl.EMPTY_UNRELATESMT;
        R483_unrelated_from_participant_by_UnrelateSmt_inst = UnrelateSmtImpl.EMPTY_UNRELATESMT;
        R486_Generate_inst = GenerateImpl.EMPTY_GENERATE;
        R775_expressed_within_Statement_inst = StatementImpl.EMPTY_STATEMENT;
        R776_is_a_Any_inst = AnyImpl.EMPTY_ANY;
        R776_is_a_ArrayElementReference_inst = ArrayElementReferenceImpl.EMPTY_ARRAYELEMENTREFERENCE;
        R776_is_a_ArrayLengthAccess_inst = ArrayLengthAccessImpl.EMPTY_ARRAYLENGTHACCESS;
        R776_is_a_AttributeAccess_inst = AttributeAccessImpl.EMPTY_ATTRIBUTEACCESS;
        R776_is_a_BinaryOperation_inst = BinaryOperationImpl.EMPTY_BINARYOPERATION;
        R776_is_a_ConstantReference_inst = ConstantReferenceImpl.EMPTY_CONSTANTREFERENCE;
        R776_is_a_Creation_inst = CreationImpl.EMPTY_CREATION;
        R776_is_a_EnumeratorReference_inst = EnumeratorReferenceImpl.EMPTY_ENUMERATORREFERENCE;
        R776_is_a_EventCreation_inst = EventCreationImpl.EMPTY_EVENTCREATION;
        R776_is_a_Invocation_inst = InvocationImpl.EMPTY_INVOCATION;
        R776_is_a_Literal_inst = LiteralImpl.EMPTY_LITERAL;
        R776_is_a_MemberReference_inst = MemberReferenceImpl.EMPTY_MEMBERREFERENCE;
        R776_is_a_NamedReference_inst = NamedReferenceImpl.EMPTY_NAMEDREFERENCE;
        R776_is_a_ParameterReference_inst = ParameterReferenceImpl.EMPTY_PARAMETERREFERENCE;
        R776_is_a_ParenthesizedExpression_inst = ParenthesizedExpressionImpl.EMPTY_PARENTHESIZEDEXPRESSION;
        R776_is_a_Promotion_inst = PromotionImpl.EMPTY_PROMOTION;
        R776_is_a_Select_inst = SelectImpl.EMPTY_SELECT;
        R776_is_a_Selected_inst = SelectedImpl.EMPTY_SELECTED;
        R776_is_a_UnaryOperation_inst = UnaryOperationImpl.EMPTY_UNARYOPERATION;
        R776_is_a_VariableReference_inst = VariableReferenceImpl.EMPTY_VARIABLEREFERENCE;
        R776_is_a_Where_inst = WhereImpl.EMPTY_WHERE;
        R777_is_single_operand_for_UnaryOperation_inst = UnaryOperationImpl.EMPTY_UNARYOPERATION;
        R778_is_right_operand_for_BinaryOperation_inst = BinaryOperationImpl.EMPTY_BINARYOPERATION;
        R779_is_left_operand_for_BinaryOperation_inst = BinaryOperationImpl.EMPTY_BINARYOPERATION;
        R783_is_basis_for_Any_inst = AnyImpl.EMPTY_ANY;
        R784_is_wrapped_in_parentheses_by_ParenthesizedExpression_inst = ParenthesizedExpressionImpl.EMPTY_PARENTHESIZEDEXPRESSION;
        R785_is_used_as_basis_for_AttributeAccess_inst = AttributeAccessImpl.EMPTY_ATTRIBUTEACCESS;
        R787_is_used_as_basis_for_MemberReference_inst = MemberReferenceImpl.EMPTY_MEMBERREFERENCE;
        R790_filtered_by_Where_inst = WhereImpl.EMPTY_WHERE;
        R791_is_basis_for_SelectRelated_inst = SelectRelatedImpl.EMPTY_SELECTRELATED;
        R794_defines_value_for_ActualParameter_inst = ActualParameterImpl.EMPTY_ACTUALPARAMETER;
        R795_expresses_value_of_TypeReference_inst = TypeReferenceImpl.EMPTY_TYPEREFERENCE;
        R796_defines_condtion_for_Where_inst = WhereImpl.EMPTY_WHERE;
        R798_is_used_as_basis_for_Invocation_inst = InvocationImpl.EMPTY_INVOCATION;
    }

    public static Expression create( Sql context ) throws XtumlException {
        Expression newExpression = new ExpressionImpl( context );
        if ( context.addInstance( newExpression ) ) {
            newExpression.getRunContext().addChange(new InstanceCreatedDelta(newExpression, KEY_LETTERS));
            return newExpression;
        }
        else throw new InstancePopulationException( "Instance already exists within this population." );
    }

    public static Expression create( Sql context, String ref_parent_name, String ref_parent_package, String ref_body_name, String ref_block_number, String ref_statement_number, String m_expression_number, String ref_type_name, String ref_type_package, String ref_type_reference_name ) throws XtumlException {
        return create(context, UniqueId.random(), ref_parent_name, ref_parent_package, ref_body_name, ref_block_number, ref_statement_number, m_expression_number, ref_type_name, ref_type_package, ref_type_reference_name);
    }

    public static Expression create( Sql context, UniqueId instanceId, String ref_parent_name, String ref_parent_package, String ref_body_name, String ref_block_number, String ref_statement_number, String m_expression_number, String ref_type_name, String ref_type_package, String ref_type_reference_name ) throws XtumlException {
        Expression newExpression = new ExpressionImpl( context, instanceId, ref_parent_name, ref_parent_package, ref_body_name, ref_block_number, ref_statement_number, m_expression_number, ref_type_name, ref_type_package, ref_type_reference_name );
        if ( context.addInstance( newExpression ) ) {
            return newExpression;
        }
        else throw new InstancePopulationException( "Instance already exists within this population." );
    }



    // attributes
    private String ref_parent_name;
    @Override
    public void setParent_name(String ref_parent_name) throws XtumlException {
        checkLiving();
        if (StringUtil.inequality(ref_parent_name, this.ref_parent_name)) {
            final String oldValue = this.ref_parent_name;
            this.ref_parent_name = ref_parent_name;
            getRunContext().addChange(new AttributeChangedDelta(this, KEY_LETTERS, "ref_parent_name", oldValue, this.ref_parent_name));
            if ( !R779_is_left_operand_for_BinaryOperation().isEmpty() ) R779_is_left_operand_for_BinaryOperation().setParent_name( ref_parent_name );
            if ( !R476_executed_by_ExpressionAsStatement().isEmpty() ) R476_executed_by_ExpressionAsStatement().setParent_name( ref_parent_name );
            if ( !R472_determines_execution_of_block_for_WhileSmt().isEmpty() ) R472_determines_execution_of_block_for_WhileSmt().setParent_name( ref_parent_name );
            if ( !R783_is_basis_for_Any().isEmpty() ) R783_is_basis_for_Any().setParent_name( ref_parent_name );
            if ( !R776_is_a_MemberReference().isEmpty() ) R776_is_a_MemberReference().setParent_name( ref_parent_name );
            if ( !R480_related_to_formalizer_by_RelateSmt().isEmpty() ) R480_related_to_formalizer_by_RelateSmt().setParent_name( ref_parent_name );
            if ( !R785_is_used_as_basis_for_AttributeAccess().isEmpty() ) R785_is_used_as_basis_for_AttributeAccess().setParent_name( ref_parent_name );
            if ( !R776_is_a_AttributeAccess().isEmpty() ) R776_is_a_AttributeAccess().setParent_name( ref_parent_name );
            if ( !R778_is_right_operand_for_BinaryOperation().isEmpty() ) R778_is_right_operand_for_BinaryOperation().setParent_name( ref_parent_name );
            if ( !R784_is_wrapped_in_parentheses_by_ParenthesizedExpression().isEmpty() ) R784_is_wrapped_in_parentheses_by_ParenthesizedExpression().setParent_name( ref_parent_name );
            if ( !R776_is_a_Selected().isEmpty() ) R776_is_a_Selected().setParent_name( ref_parent_name );
            if ( !R790_filtered_by_Where().isEmpty() ) R790_filtered_by_Where().setParent_name( ref_parent_name );
            if ( !R776_is_a_ConstantReference().isEmpty() ) R776_is_a_ConstantReference().setParent_name( ref_parent_name );
            if ( !R776_is_a_BinaryOperation().isEmpty() ) R776_is_a_BinaryOperation().setParent_name( ref_parent_name );
            if ( !R776_is_a_EnumeratorReference().isEmpty() ) R776_is_a_EnumeratorReference().setParent_name( ref_parent_name );
            if ( !R486_Generate().isEmpty() ) R486_Generate().setParent_name( ref_parent_name );
            if ( !R776_is_a_ParameterReference().isEmpty() ) R776_is_a_ParameterReference().setParent_name( ref_parent_name );
            if ( !R798_is_used_as_basis_for_Invocation().isEmpty() ) R798_is_used_as_basis_for_Invocation().setParent_name( ref_parent_name );
            if ( !R473_defines_return_value_for_ReturnSmt().isEmpty() ) R473_defines_return_value_for_ReturnSmt().setParent_name( ref_parent_name );
            if ( !R777_is_single_operand_for_UnaryOperation().isEmpty() ) R777_is_single_operand_for_UnaryOperation().setParent_name( ref_parent_name );
            if ( !R776_is_a_VariableReference().isEmpty() ) R776_is_a_VariableReference().setParent_name( ref_parent_name );
            if ( !R776_is_a_ParenthesizedExpression().isEmpty() ) R776_is_a_ParenthesizedExpression().setParent_name( ref_parent_name );
            if ( !R791_is_basis_for_SelectRelated().isEmpty() ) R791_is_basis_for_SelectRelated().setParent_name( ref_parent_name );
            if ( !R776_is_a_UnaryOperation().isEmpty() ) R776_is_a_UnaryOperation().setParent_name( ref_parent_name );
            if ( !R776_is_a_Creation().isEmpty() ) R776_is_a_Creation().setParent_name( ref_parent_name );
            if ( !R776_is_a_Promotion().isEmpty() ) R776_is_a_Promotion().setParent_name( ref_parent_name );
            if ( !R796_defines_condtion_for_Where().isEmpty() ) R796_defines_condtion_for_Where().setParent_name( ref_parent_name );
            if ( !R776_is_a_EventCreation().isEmpty() ) R776_is_a_EventCreation().setParent_name( ref_parent_name );
            if ( !R471_determines_execution_of_blocks_for_IfSmt().isEmpty() ) R471_determines_execution_of_blocks_for_IfSmt().setParent_name( ref_parent_name );
            if ( !R482_unrelated_from_formalizer_by_UnrelateSmt().isEmpty() ) R482_unrelated_from_formalizer_by_UnrelateSmt().setParent_name( ref_parent_name );
            if ( !R776_is_a_ArrayLengthAccess().isEmpty() ) R776_is_a_ArrayLengthAccess().setParent_name( ref_parent_name );
            if ( !R776_is_a_NamedReference().isEmpty() ) R776_is_a_NamedReference().setParent_name( ref_parent_name );
            if ( !R776_is_a_Literal().isEmpty() ) R776_is_a_Literal().setParent_name( ref_parent_name );
            if ( !R787_is_used_as_basis_for_MemberReference().isEmpty() ) R787_is_used_as_basis_for_MemberReference().setParent_name( ref_parent_name );
            if ( !R479_related_to_participant_by_RelateSmt().isEmpty() ) R479_related_to_participant_by_RelateSmt().setParent_name( ref_parent_name );
            if ( !R794_defines_value_for_ActualParameter().isEmpty() ) R794_defines_value_for_ActualParameter().setParent_name( ref_parent_name );
            if ( !R3902_EventCreation().isEmpty() ) R3902_EventCreation().setParent_name( ref_parent_name );
            if ( !R776_is_a_Where().isEmpty() ) R776_is_a_Where().setParent_name( ref_parent_name );
            if ( !R483_unrelated_from_participant_by_UnrelateSmt().isEmpty() ) R483_unrelated_from_participant_by_UnrelateSmt().setParent_name( ref_parent_name );
            if ( !R3907_promoted_by_Promotion().isEmpty() ) R3907_promoted_by_Promotion().setParent_name( ref_parent_name );
            if ( !R776_is_a_Select().isEmpty() ) R776_is_a_Select().setParent_name( ref_parent_name );
            if ( !R776_is_a_Any().isEmpty() ) R776_is_a_Any().setParent_name( ref_parent_name );
            if ( !R462_is_deleted_by_DeleteSmt().isEmpty() ) R462_is_deleted_by_DeleteSmt().setParent_name( ref_parent_name );
            if ( !R3901_is_index_for_ArrayElementReference().isEmpty() ) R3901_is_index_for_ArrayElementReference().setParent_name( ref_parent_name );
            if ( !R776_is_a_ArrayElementReference().isEmpty() ) R776_is_a_ArrayElementReference().setParent_name( ref_parent_name );
            if ( !R776_is_a_Invocation().isEmpty() ) R776_is_a_Invocation().setParent_name( ref_parent_name );
            if ( !R3903_EventCreation().isEmpty() ) R3903_EventCreation().setParent_name( ref_parent_name );
            if ( !R478_is_iterated_by_ForSmt().isEmpty() ) R478_is_iterated_by_ForSmt().setParent_name( ref_parent_name );
            if ( !R3900_is_root_for_ArrayElementReference().isEmpty() ) R3900_is_root_for_ArrayElementReference().setParent_name( ref_parent_name );
        }
    }
    @Override
    public String getParent_name() throws XtumlException {
        checkLiving();
        return ref_parent_name;
    }
    private String ref_parent_package;
    @Override
    public void setParent_package(String ref_parent_package) throws XtumlException {
        checkLiving();
        if (StringUtil.inequality(ref_parent_package, this.ref_parent_package)) {
            final String oldValue = this.ref_parent_package;
            this.ref_parent_package = ref_parent_package;
            getRunContext().addChange(new AttributeChangedDelta(this, KEY_LETTERS, "ref_parent_package", oldValue, this.ref_parent_package));
            if ( !R776_is_a_Where().isEmpty() ) R776_is_a_Where().setParent_package( ref_parent_package );
            if ( !R776_is_a_Creation().isEmpty() ) R776_is_a_Creation().setParent_package( ref_parent_package );
            if ( !R482_unrelated_from_formalizer_by_UnrelateSmt().isEmpty() ) R482_unrelated_from_formalizer_by_UnrelateSmt().setParent_package( ref_parent_package );
            if ( !R776_is_a_AttributeAccess().isEmpty() ) R776_is_a_AttributeAccess().setParent_package( ref_parent_package );
            if ( !R794_defines_value_for_ActualParameter().isEmpty() ) R794_defines_value_for_ActualParameter().setParent_package( ref_parent_package );
            if ( !R3900_is_root_for_ArrayElementReference().isEmpty() ) R3900_is_root_for_ArrayElementReference().setParent_package( ref_parent_package );
            if ( !R3903_EventCreation().isEmpty() ) R3903_EventCreation().setParent_package( ref_parent_package );
            if ( !R3907_promoted_by_Promotion().isEmpty() ) R3907_promoted_by_Promotion().setParent_package( ref_parent_package );
            if ( !R776_is_a_VariableReference().isEmpty() ) R776_is_a_VariableReference().setParent_package( ref_parent_package );
            if ( !R476_executed_by_ExpressionAsStatement().isEmpty() ) R476_executed_by_ExpressionAsStatement().setParent_package( ref_parent_package );
            if ( !R778_is_right_operand_for_BinaryOperation().isEmpty() ) R778_is_right_operand_for_BinaryOperation().setParent_package( ref_parent_package );
            if ( !R473_defines_return_value_for_ReturnSmt().isEmpty() ) R473_defines_return_value_for_ReturnSmt().setParent_package( ref_parent_package );
            if ( !R776_is_a_EnumeratorReference().isEmpty() ) R776_is_a_EnumeratorReference().setParent_package( ref_parent_package );
            if ( !R784_is_wrapped_in_parentheses_by_ParenthesizedExpression().isEmpty() ) R784_is_wrapped_in_parentheses_by_ParenthesizedExpression().setParent_package( ref_parent_package );
            if ( !R462_is_deleted_by_DeleteSmt().isEmpty() ) R462_is_deleted_by_DeleteSmt().setParent_package( ref_parent_package );
            if ( !R776_is_a_Promotion().isEmpty() ) R776_is_a_Promotion().setParent_package( ref_parent_package );
            if ( !R796_defines_condtion_for_Where().isEmpty() ) R796_defines_condtion_for_Where().setParent_package( ref_parent_package );
            if ( !R478_is_iterated_by_ForSmt().isEmpty() ) R478_is_iterated_by_ForSmt().setParent_package( ref_parent_package );
            if ( !R776_is_a_MemberReference().isEmpty() ) R776_is_a_MemberReference().setParent_package( ref_parent_package );
            if ( !R776_is_a_BinaryOperation().isEmpty() ) R776_is_a_BinaryOperation().setParent_package( ref_parent_package );
            if ( !R479_related_to_participant_by_RelateSmt().isEmpty() ) R479_related_to_participant_by_RelateSmt().setParent_package( ref_parent_package );
            if ( !R480_related_to_formalizer_by_RelateSmt().isEmpty() ) R480_related_to_formalizer_by_RelateSmt().setParent_package( ref_parent_package );
            if ( !R3901_is_index_for_ArrayElementReference().isEmpty() ) R3901_is_index_for_ArrayElementReference().setParent_package( ref_parent_package );
            if ( !R776_is_a_EventCreation().isEmpty() ) R776_is_a_EventCreation().setParent_package( ref_parent_package );
            if ( !R777_is_single_operand_for_UnaryOperation().isEmpty() ) R777_is_single_operand_for_UnaryOperation().setParent_package( ref_parent_package );
            if ( !R776_is_a_ArrayElementReference().isEmpty() ) R776_is_a_ArrayElementReference().setParent_package( ref_parent_package );
            if ( !R483_unrelated_from_participant_by_UnrelateSmt().isEmpty() ) R483_unrelated_from_participant_by_UnrelateSmt().setParent_package( ref_parent_package );
            if ( !R3902_EventCreation().isEmpty() ) R3902_EventCreation().setParent_package( ref_parent_package );
            if ( !R776_is_a_ParameterReference().isEmpty() ) R776_is_a_ParameterReference().setParent_package( ref_parent_package );
            if ( !R776_is_a_NamedReference().isEmpty() ) R776_is_a_NamedReference().setParent_package( ref_parent_package );
            if ( !R779_is_left_operand_for_BinaryOperation().isEmpty() ) R779_is_left_operand_for_BinaryOperation().setParent_package( ref_parent_package );
            if ( !R787_is_used_as_basis_for_MemberReference().isEmpty() ) R787_is_used_as_basis_for_MemberReference().setParent_package( ref_parent_package );
            if ( !R776_is_a_ConstantReference().isEmpty() ) R776_is_a_ConstantReference().setParent_package( ref_parent_package );
            if ( !R472_determines_execution_of_block_for_WhileSmt().isEmpty() ) R472_determines_execution_of_block_for_WhileSmt().setParent_package( ref_parent_package );
            if ( !R791_is_basis_for_SelectRelated().isEmpty() ) R791_is_basis_for_SelectRelated().setParent_package( ref_parent_package );
            if ( !R776_is_a_ParenthesizedExpression().isEmpty() ) R776_is_a_ParenthesizedExpression().setParent_package( ref_parent_package );
            if ( !R776_is_a_ArrayLengthAccess().isEmpty() ) R776_is_a_ArrayLengthAccess().setParent_package( ref_parent_package );
            if ( !R776_is_a_Invocation().isEmpty() ) R776_is_a_Invocation().setParent_package( ref_parent_package );
            if ( !R785_is_used_as_basis_for_AttributeAccess().isEmpty() ) R785_is_used_as_basis_for_AttributeAccess().setParent_package( ref_parent_package );
            if ( !R486_Generate().isEmpty() ) R486_Generate().setParent_package( ref_parent_package );
            if ( !R471_determines_execution_of_blocks_for_IfSmt().isEmpty() ) R471_determines_execution_of_blocks_for_IfSmt().setParent_package( ref_parent_package );
            if ( !R783_is_basis_for_Any().isEmpty() ) R783_is_basis_for_Any().setParent_package( ref_parent_package );
            if ( !R790_filtered_by_Where().isEmpty() ) R790_filtered_by_Where().setParent_package( ref_parent_package );
            if ( !R776_is_a_Any().isEmpty() ) R776_is_a_Any().setParent_package( ref_parent_package );
            if ( !R776_is_a_Literal().isEmpty() ) R776_is_a_Literal().setParent_package( ref_parent_package );
            if ( !R798_is_used_as_basis_for_Invocation().isEmpty() ) R798_is_used_as_basis_for_Invocation().setParent_package( ref_parent_package );
            if ( !R776_is_a_Select().isEmpty() ) R776_is_a_Select().setParent_package( ref_parent_package );
            if ( !R776_is_a_Selected().isEmpty() ) R776_is_a_Selected().setParent_package( ref_parent_package );
            if ( !R776_is_a_UnaryOperation().isEmpty() ) R776_is_a_UnaryOperation().setParent_package( ref_parent_package );
        }
    }
    @Override
    public String getParent_package() throws XtumlException {
        checkLiving();
        return ref_parent_package;
    }
    private String ref_body_name;
    @Override
    public String getBody_name() throws XtumlException {
        checkLiving();
        return ref_body_name;
    }
    @Override
    public void setBody_name(String ref_body_name) throws XtumlException {
        checkLiving();
        if (StringUtil.inequality(ref_body_name, this.ref_body_name)) {
            final String oldValue = this.ref_body_name;
            this.ref_body_name = ref_body_name;
            getRunContext().addChange(new AttributeChangedDelta(this, KEY_LETTERS, "ref_body_name", oldValue, this.ref_body_name));
            if ( !R796_defines_condtion_for_Where().isEmpty() ) R796_defines_condtion_for_Where().setBody_name( ref_body_name );
            if ( !R482_unrelated_from_formalizer_by_UnrelateSmt().isEmpty() ) R482_unrelated_from_formalizer_by_UnrelateSmt().setBody_name( ref_body_name );
            if ( !R790_filtered_by_Where().isEmpty() ) R790_filtered_by_Where().setBody_name( ref_body_name );
            if ( !R776_is_a_UnaryOperation().isEmpty() ) R776_is_a_UnaryOperation().setBody_name( ref_body_name );
            if ( !R472_determines_execution_of_block_for_WhileSmt().isEmpty() ) R472_determines_execution_of_block_for_WhileSmt().setBody_name( ref_body_name );
            if ( !R785_is_used_as_basis_for_AttributeAccess().isEmpty() ) R785_is_used_as_basis_for_AttributeAccess().setBody_name( ref_body_name );
            if ( !R777_is_single_operand_for_UnaryOperation().isEmpty() ) R777_is_single_operand_for_UnaryOperation().setBody_name( ref_body_name );
            if ( !R776_is_a_Invocation().isEmpty() ) R776_is_a_Invocation().setBody_name( ref_body_name );
            if ( !R483_unrelated_from_participant_by_UnrelateSmt().isEmpty() ) R483_unrelated_from_participant_by_UnrelateSmt().setBody_name( ref_body_name );
            if ( !R3903_EventCreation().isEmpty() ) R3903_EventCreation().setBody_name( ref_body_name );
            if ( !R3901_is_index_for_ArrayElementReference().isEmpty() ) R3901_is_index_for_ArrayElementReference().setBody_name( ref_body_name );
            if ( !R776_is_a_Any().isEmpty() ) R776_is_a_Any().setBody_name( ref_body_name );
            if ( !R480_related_to_formalizer_by_RelateSmt().isEmpty() ) R480_related_to_formalizer_by_RelateSmt().setBody_name( ref_body_name );
            if ( !R776_is_a_ParameterReference().isEmpty() ) R776_is_a_ParameterReference().setBody_name( ref_body_name );
            if ( !R778_is_right_operand_for_BinaryOperation().isEmpty() ) R778_is_right_operand_for_BinaryOperation().setBody_name( ref_body_name );
            if ( !R776_is_a_EnumeratorReference().isEmpty() ) R776_is_a_EnumeratorReference().setBody_name( ref_body_name );
            if ( !R776_is_a_VariableReference().isEmpty() ) R776_is_a_VariableReference().setBody_name( ref_body_name );
            if ( !R478_is_iterated_by_ForSmt().isEmpty() ) R478_is_iterated_by_ForSmt().setBody_name( ref_body_name );
            if ( !R776_is_a_ArrayElementReference().isEmpty() ) R776_is_a_ArrayElementReference().setBody_name( ref_body_name );
            if ( !R3900_is_root_for_ArrayElementReference().isEmpty() ) R3900_is_root_for_ArrayElementReference().setBody_name( ref_body_name );
            if ( !R779_is_left_operand_for_BinaryOperation().isEmpty() ) R779_is_left_operand_for_BinaryOperation().setBody_name( ref_body_name );
            if ( !R776_is_a_NamedReference().isEmpty() ) R776_is_a_NamedReference().setBody_name( ref_body_name );
            if ( !R784_is_wrapped_in_parentheses_by_ParenthesizedExpression().isEmpty() ) R784_is_wrapped_in_parentheses_by_ParenthesizedExpression().setBody_name( ref_body_name );
            if ( !R3907_promoted_by_Promotion().isEmpty() ) R3907_promoted_by_Promotion().setBody_name( ref_body_name );
            if ( !R3902_EventCreation().isEmpty() ) R3902_EventCreation().setBody_name( ref_body_name );
            if ( !R479_related_to_participant_by_RelateSmt().isEmpty() ) R479_related_to_participant_by_RelateSmt().setBody_name( ref_body_name );
            if ( !R776_is_a_Literal().isEmpty() ) R776_is_a_Literal().setBody_name( ref_body_name );
            if ( !R794_defines_value_for_ActualParameter().isEmpty() ) R794_defines_value_for_ActualParameter().setBody_name( ref_body_name );
            if ( !R776_is_a_Where().isEmpty() ) R776_is_a_Where().setBody_name( ref_body_name );
            if ( !R776_is_a_EventCreation().isEmpty() ) R776_is_a_EventCreation().setBody_name( ref_body_name );
            if ( !R476_executed_by_ExpressionAsStatement().isEmpty() ) R476_executed_by_ExpressionAsStatement().setBody_name( ref_body_name );
            if ( !R473_defines_return_value_for_ReturnSmt().isEmpty() ) R473_defines_return_value_for_ReturnSmt().setBody_name( ref_body_name );
            if ( !R776_is_a_ParenthesizedExpression().isEmpty() ) R776_is_a_ParenthesizedExpression().setBody_name( ref_body_name );
            if ( !R787_is_used_as_basis_for_MemberReference().isEmpty() ) R787_is_used_as_basis_for_MemberReference().setBody_name( ref_body_name );
            if ( !R776_is_a_Promotion().isEmpty() ) R776_is_a_Promotion().setBody_name( ref_body_name );
            if ( !R471_determines_execution_of_blocks_for_IfSmt().isEmpty() ) R471_determines_execution_of_blocks_for_IfSmt().setBody_name( ref_body_name );
            if ( !R776_is_a_BinaryOperation().isEmpty() ) R776_is_a_BinaryOperation().setBody_name( ref_body_name );
            if ( !R776_is_a_Select().isEmpty() ) R776_is_a_Select().setBody_name( ref_body_name );
            if ( !R791_is_basis_for_SelectRelated().isEmpty() ) R791_is_basis_for_SelectRelated().setBody_name( ref_body_name );
            if ( !R776_is_a_ConstantReference().isEmpty() ) R776_is_a_ConstantReference().setBody_name( ref_body_name );
            if ( !R776_is_a_MemberReference().isEmpty() ) R776_is_a_MemberReference().setBody_name( ref_body_name );
            if ( !R486_Generate().isEmpty() ) R486_Generate().setBody_name( ref_body_name );
            if ( !R798_is_used_as_basis_for_Invocation().isEmpty() ) R798_is_used_as_basis_for_Invocation().setBody_name( ref_body_name );
            if ( !R783_is_basis_for_Any().isEmpty() ) R783_is_basis_for_Any().setBody_name( ref_body_name );
            if ( !R776_is_a_AttributeAccess().isEmpty() ) R776_is_a_AttributeAccess().setBody_name( ref_body_name );
            if ( !R462_is_deleted_by_DeleteSmt().isEmpty() ) R462_is_deleted_by_DeleteSmt().setBody_name( ref_body_name );
            if ( !R776_is_a_Selected().isEmpty() ) R776_is_a_Selected().setName( ref_body_name );
            if ( !R776_is_a_Creation().isEmpty() ) R776_is_a_Creation().setName( ref_body_name );
            if ( !R776_is_a_ArrayLengthAccess().isEmpty() ) R776_is_a_ArrayLengthAccess().setBody_name( ref_body_name );
        }
    }
    private String ref_block_number;
    @Override
    public String getBlock_number() throws XtumlException {
        checkLiving();
        return ref_block_number;
    }
    @Override
    public void setBlock_number(String ref_block_number) throws XtumlException {
        checkLiving();
        if (StringUtil.inequality(ref_block_number, this.ref_block_number)) {
            final String oldValue = this.ref_block_number;
            this.ref_block_number = ref_block_number;
            getRunContext().addChange(new AttributeChangedDelta(this, KEY_LETTERS, "ref_block_number", oldValue, this.ref_block_number));
            if ( !R794_defines_value_for_ActualParameter().isEmpty() ) R794_defines_value_for_ActualParameter().setBlock_number( ref_block_number );
            if ( !R776_is_a_UnaryOperation().isEmpty() ) R776_is_a_UnaryOperation().setBlock_number( ref_block_number );
            if ( !R776_is_a_Invocation().isEmpty() ) R776_is_a_Invocation().setBlock_number( ref_block_number );
            if ( !R486_Generate().isEmpty() ) R486_Generate().setBlock_number( ref_block_number );
            if ( !R462_is_deleted_by_DeleteSmt().isEmpty() ) R462_is_deleted_by_DeleteSmt().setBlock_number( ref_block_number );
            if ( !R483_unrelated_from_participant_by_UnrelateSmt().isEmpty() ) R483_unrelated_from_participant_by_UnrelateSmt().setBlock_number( ref_block_number );
            if ( !R777_is_single_operand_for_UnaryOperation().isEmpty() ) R777_is_single_operand_for_UnaryOperation().setBlock_number( ref_block_number );
            if ( !R776_is_a_ArrayLengthAccess().isEmpty() ) R776_is_a_ArrayLengthAccess().setBlock_number( ref_block_number );
            if ( !R3900_is_root_for_ArrayElementReference().isEmpty() ) R3900_is_root_for_ArrayElementReference().setBlock_number( ref_block_number );
            if ( !R478_is_iterated_by_ForSmt().isEmpty() ) R478_is_iterated_by_ForSmt().setBlock_number( ref_block_number );
            if ( !R472_determines_execution_of_block_for_WhileSmt().isEmpty() ) R472_determines_execution_of_block_for_WhileSmt().setBlock_number( ref_block_number );
            if ( !R3901_is_index_for_ArrayElementReference().isEmpty() ) R3901_is_index_for_ArrayElementReference().setBlock_number( ref_block_number );
            if ( !R776_is_a_EnumeratorReference().isEmpty() ) R776_is_a_EnumeratorReference().setBlock_number( ref_block_number );
            if ( !R776_is_a_BinaryOperation().isEmpty() ) R776_is_a_BinaryOperation().setBlock_number( ref_block_number );
            if ( !R480_related_to_formalizer_by_RelateSmt().isEmpty() ) R480_related_to_formalizer_by_RelateSmt().setBlock_number( ref_block_number );
            if ( !R783_is_basis_for_Any().isEmpty() ) R783_is_basis_for_Any().setBlock_number( ref_block_number );
            if ( !R482_unrelated_from_formalizer_by_UnrelateSmt().isEmpty() ) R482_unrelated_from_formalizer_by_UnrelateSmt().setBlock_number( ref_block_number );
            if ( !R785_is_used_as_basis_for_AttributeAccess().isEmpty() ) R785_is_used_as_basis_for_AttributeAccess().setBlock_number( ref_block_number );
            if ( !R776_is_a_ArrayElementReference().isEmpty() ) R776_is_a_ArrayElementReference().setBlock_number( ref_block_number );
            if ( !R776_is_a_Creation().isEmpty() ) R776_is_a_Creation().setBlock_number( ref_block_number );
            if ( !R776_is_a_MemberReference().isEmpty() ) R776_is_a_MemberReference().setBlock_number( ref_block_number );
            if ( !R796_defines_condtion_for_Where().isEmpty() ) R796_defines_condtion_for_Where().setBlock_number( ref_block_number );
            if ( !R790_filtered_by_Where().isEmpty() ) R790_filtered_by_Where().setBlock_number( ref_block_number );
            if ( !R776_is_a_Selected().isEmpty() ) R776_is_a_Selected().setBlock_number( ref_block_number );
            if ( !R776_is_a_Literal().isEmpty() ) R776_is_a_Literal().setBlock_number( ref_block_number );
            if ( !R776_is_a_Select().isEmpty() ) R776_is_a_Select().setBlock_number( ref_block_number );
            if ( !R787_is_used_as_basis_for_MemberReference().isEmpty() ) R787_is_used_as_basis_for_MemberReference().setBlock_number( ref_block_number );
            if ( !R3903_EventCreation().isEmpty() ) R3903_EventCreation().setBlock_number( ref_block_number );
            if ( !R776_is_a_Where().isEmpty() ) R776_is_a_Where().setBlock_number( ref_block_number );
            if ( !R776_is_a_ParenthesizedExpression().isEmpty() ) R776_is_a_ParenthesizedExpression().setBlock_number( ref_block_number );
            if ( !R776_is_a_Promotion().isEmpty() ) R776_is_a_Promotion().setBlock_number( ref_block_number );
            if ( !R476_executed_by_ExpressionAsStatement().isEmpty() ) R476_executed_by_ExpressionAsStatement().setBlock_number( ref_block_number );
            if ( !R791_is_basis_for_SelectRelated().isEmpty() ) R791_is_basis_for_SelectRelated().setBlock_number( ref_block_number );
            if ( !R776_is_a_VariableReference().isEmpty() ) R776_is_a_VariableReference().setBlock_number( ref_block_number );
            if ( !R473_defines_return_value_for_ReturnSmt().isEmpty() ) R473_defines_return_value_for_ReturnSmt().setBlock_number( ref_block_number );
            if ( !R776_is_a_ConstantReference().isEmpty() ) R776_is_a_ConstantReference().setBlock_number( ref_block_number );
            if ( !R471_determines_execution_of_blocks_for_IfSmt().isEmpty() ) R471_determines_execution_of_blocks_for_IfSmt().setBlock_number( ref_block_number );
            if ( !R778_is_right_operand_for_BinaryOperation().isEmpty() ) R778_is_right_operand_for_BinaryOperation().setBlock_number( ref_block_number );
            if ( !R3902_EventCreation().isEmpty() ) R3902_EventCreation().setBlock_number( ref_block_number );
            if ( !R776_is_a_ParameterReference().isEmpty() ) R776_is_a_ParameterReference().setBlock_number( ref_block_number );
            if ( !R776_is_a_AttributeAccess().isEmpty() ) R776_is_a_AttributeAccess().setBlock_number( ref_block_number );
            if ( !R776_is_a_NamedReference().isEmpty() ) R776_is_a_NamedReference().setBlock_number( ref_block_number );
            if ( !R779_is_left_operand_for_BinaryOperation().isEmpty() ) R779_is_left_operand_for_BinaryOperation().setBlock_number( ref_block_number );
            if ( !R3907_promoted_by_Promotion().isEmpty() ) R3907_promoted_by_Promotion().setBlock_number( ref_block_number );
            if ( !R776_is_a_Any().isEmpty() ) R776_is_a_Any().setBlock_number( ref_block_number );
            if ( !R784_is_wrapped_in_parentheses_by_ParenthesizedExpression().isEmpty() ) R784_is_wrapped_in_parentheses_by_ParenthesizedExpression().setBlock_number( ref_block_number );
            if ( !R798_is_used_as_basis_for_Invocation().isEmpty() ) R798_is_used_as_basis_for_Invocation().setBlock_number( ref_block_number );
            if ( !R776_is_a_EventCreation().isEmpty() ) R776_is_a_EventCreation().setBlock_number( ref_block_number );
            if ( !R479_related_to_participant_by_RelateSmt().isEmpty() ) R479_related_to_participant_by_RelateSmt().setBlock_number( ref_block_number );
        }
    }
    private String ref_statement_number;
    @Override
    public void setStatement_number(String ref_statement_number) throws XtumlException {
        checkLiving();
        if (StringUtil.inequality(ref_statement_number, this.ref_statement_number)) {
            final String oldValue = this.ref_statement_number;
            this.ref_statement_number = ref_statement_number;
            getRunContext().addChange(new AttributeChangedDelta(this, KEY_LETTERS, "ref_statement_number", oldValue, this.ref_statement_number));
            if ( !R776_is_a_Select().isEmpty() ) R776_is_a_Select().setStatement_number( ref_statement_number );
            if ( !R3907_promoted_by_Promotion().isEmpty() ) R3907_promoted_by_Promotion().setStatement_number( ref_statement_number );
            if ( !R776_is_a_Promotion().isEmpty() ) R776_is_a_Promotion().setStatement_number( ref_statement_number );
            if ( !R778_is_right_operand_for_BinaryOperation().isEmpty() ) R778_is_right_operand_for_BinaryOperation().setStatement_number( ref_statement_number );
            if ( !R784_is_wrapped_in_parentheses_by_ParenthesizedExpression().isEmpty() ) R784_is_wrapped_in_parentheses_by_ParenthesizedExpression().setStatement_number( ref_statement_number );
            if ( !R3900_is_root_for_ArrayElementReference().isEmpty() ) R3900_is_root_for_ArrayElementReference().setStatement_number( ref_statement_number );
            if ( !R776_is_a_Any().isEmpty() ) R776_is_a_Any().setStatement_number( ref_statement_number );
            if ( !R776_is_a_ConstantReference().isEmpty() ) R776_is_a_ConstantReference().setStatement_number( ref_statement_number );
            if ( !R3903_EventCreation().isEmpty() ) R3903_EventCreation().setStatement_number( ref_statement_number );
            if ( !R776_is_a_ParameterReference().isEmpty() ) R776_is_a_ParameterReference().setStatement_number( ref_statement_number );
            if ( !R794_defines_value_for_ActualParameter().isEmpty() ) R794_defines_value_for_ActualParameter().setStatement_number( ref_statement_number );
            if ( !R472_determines_execution_of_block_for_WhileSmt().isEmpty() ) R472_determines_execution_of_block_for_WhileSmt().setStatement_number( ref_statement_number );
            if ( !R776_is_a_ArrayLengthAccess().isEmpty() ) R776_is_a_ArrayLengthAccess().setStatement_number( ref_statement_number );
            if ( !R480_related_to_formalizer_by_RelateSmt().isEmpty() ) R480_related_to_formalizer_by_RelateSmt().setStatement_number( ref_statement_number );
            if ( !R471_determines_execution_of_blocks_for_IfSmt().isEmpty() ) R471_determines_execution_of_blocks_for_IfSmt().setStatement_number( ref_statement_number );
            if ( !R779_is_left_operand_for_BinaryOperation().isEmpty() ) R779_is_left_operand_for_BinaryOperation().setStatement_number( ref_statement_number );
            if ( !R776_is_a_AttributeAccess().isEmpty() ) R776_is_a_AttributeAccess().setStatement_number( ref_statement_number );
            if ( !R777_is_single_operand_for_UnaryOperation().isEmpty() ) R777_is_single_operand_for_UnaryOperation().setStatement_number( ref_statement_number );
            if ( !R776_is_a_BinaryOperation().isEmpty() ) R776_is_a_BinaryOperation().setStatement_number( ref_statement_number );
            if ( !R776_is_a_UnaryOperation().isEmpty() ) R776_is_a_UnaryOperation().setStatement_number( ref_statement_number );
            if ( !R776_is_a_VariableReference().isEmpty() ) R776_is_a_VariableReference().setStatement_number( ref_statement_number );
            if ( !R791_is_basis_for_SelectRelated().isEmpty() ) R791_is_basis_for_SelectRelated().setStatement_number( ref_statement_number );
            if ( !R776_is_a_EnumeratorReference().isEmpty() ) R776_is_a_EnumeratorReference().setStatement_number( ref_statement_number );
            if ( !R476_executed_by_ExpressionAsStatement().isEmpty() ) R476_executed_by_ExpressionAsStatement().setStatement_number( ref_statement_number );
            if ( !R776_is_a_EventCreation().isEmpty() ) R776_is_a_EventCreation().setStatement_number( ref_statement_number );
            if ( !R479_related_to_participant_by_RelateSmt().isEmpty() ) R479_related_to_participant_by_RelateSmt().setStatement_number( ref_statement_number );
            if ( !R3902_EventCreation().isEmpty() ) R3902_EventCreation().setStatement_number( ref_statement_number );
            if ( !R776_is_a_Invocation().isEmpty() ) R776_is_a_Invocation().setStatement_number( ref_statement_number );
            if ( !R478_is_iterated_by_ForSmt().isEmpty() ) R478_is_iterated_by_ForSmt().setStatement_number( ref_statement_number );
            if ( !R776_is_a_MemberReference().isEmpty() ) R776_is_a_MemberReference().setStatement_number( ref_statement_number );
            if ( !R790_filtered_by_Where().isEmpty() ) R790_filtered_by_Where().setStatement_number( ref_statement_number );
            if ( !R776_is_a_ParenthesizedExpression().isEmpty() ) R776_is_a_ParenthesizedExpression().setStatement_number( ref_statement_number );
            if ( !R776_is_a_Creation().isEmpty() ) R776_is_a_Creation().setStatement_number( ref_statement_number );
            if ( !R776_is_a_Literal().isEmpty() ) R776_is_a_Literal().setStatement_number( ref_statement_number );
            if ( !R783_is_basis_for_Any().isEmpty() ) R783_is_basis_for_Any().setStatement_number( ref_statement_number );
            if ( !R776_is_a_Selected().isEmpty() ) R776_is_a_Selected().setStatement_number( ref_statement_number );
            if ( !R796_defines_condtion_for_Where().isEmpty() ) R796_defines_condtion_for_Where().setStatement_number( ref_statement_number );
            if ( !R473_defines_return_value_for_ReturnSmt().isEmpty() ) R473_defines_return_value_for_ReturnSmt().setStatement_number( ref_statement_number );
            if ( !R3901_is_index_for_ArrayElementReference().isEmpty() ) R3901_is_index_for_ArrayElementReference().setStatement_number( ref_statement_number );
            if ( !R483_unrelated_from_participant_by_UnrelateSmt().isEmpty() ) R483_unrelated_from_participant_by_UnrelateSmt().setStatement_number( ref_statement_number );
            if ( !R787_is_used_as_basis_for_MemberReference().isEmpty() ) R787_is_used_as_basis_for_MemberReference().setStatement_number( ref_statement_number );
            if ( !R462_is_deleted_by_DeleteSmt().isEmpty() ) R462_is_deleted_by_DeleteSmt().setStatement_number( ref_statement_number );
            if ( !R785_is_used_as_basis_for_AttributeAccess().isEmpty() ) R785_is_used_as_basis_for_AttributeAccess().setStatement_number( ref_statement_number );
            if ( !R776_is_a_ArrayElementReference().isEmpty() ) R776_is_a_ArrayElementReference().setStatement_number( ref_statement_number );
            if ( !R776_is_a_NamedReference().isEmpty() ) R776_is_a_NamedReference().setStatement_number( ref_statement_number );
            if ( !R482_unrelated_from_formalizer_by_UnrelateSmt().isEmpty() ) R482_unrelated_from_formalizer_by_UnrelateSmt().setStatement_number( ref_statement_number );
            if ( !R776_is_a_Where().isEmpty() ) R776_is_a_Where().setStatement_number( ref_statement_number );
            if ( !R486_Generate().isEmpty() ) R486_Generate().setStatement_number( ref_statement_number );
            if ( !R798_is_used_as_basis_for_Invocation().isEmpty() ) R798_is_used_as_basis_for_Invocation().setStatement_number( ref_statement_number );
        }
    }
    @Override
    public String getStatement_number() throws XtumlException {
        checkLiving();
        return ref_statement_number;
    }
    private String m_expression_number;
    @Override
    public void setExpression_number(String m_expression_number) throws XtumlException {
        checkLiving();
        if (StringUtil.inequality(m_expression_number, this.m_expression_number)) {
            final String oldValue = this.m_expression_number;
            this.m_expression_number = m_expression_number;
            getRunContext().addChange(new AttributeChangedDelta(this, KEY_LETTERS, "m_expression_number", oldValue, this.m_expression_number));
            if ( !R483_unrelated_from_participant_by_UnrelateSmt().isEmpty() ) R483_unrelated_from_participant_by_UnrelateSmt().setForm_expression_number( m_expression_number );
            if ( !R776_is_a_EnumeratorReference().isEmpty() ) R776_is_a_EnumeratorReference().setExpression_number( m_expression_number );
            if ( !R785_is_used_as_basis_for_AttributeAccess().isEmpty() ) R785_is_used_as_basis_for_AttributeAccess().setRoot_expression_number( m_expression_number );
            if ( !R776_is_a_Promotion().isEmpty() ) R776_is_a_Promotion().setExpression_number( m_expression_number );
            if ( !R783_is_basis_for_Any().isEmpty() ) R783_is_basis_for_Any().setAny_expression_number( m_expression_number );
            if ( !R776_is_a_Select().isEmpty() ) R776_is_a_Select().setExpression_number( m_expression_number );
            if ( !R3902_EventCreation().isEmpty() ) R3902_EventCreation().setTarget_expression_number( m_expression_number );
            if ( !R776_is_a_ParenthesizedExpression().isEmpty() ) R776_is_a_ParenthesizedExpression().setExpression_number( m_expression_number );
            if ( !R794_defines_value_for_ActualParameter().isEmpty() ) R794_defines_value_for_ActualParameter().setExpression_number( m_expression_number );
            if ( !R778_is_right_operand_for_BinaryOperation().isEmpty() ) R778_is_right_operand_for_BinaryOperation().setRight_expression_number( m_expression_number );
            if ( !R776_is_a_Invocation().isEmpty() ) R776_is_a_Invocation().setExpression_number( m_expression_number );
            if ( !R3900_is_root_for_ArrayElementReference().isEmpty() ) R3900_is_root_for_ArrayElementReference().setRoot_expression_number( m_expression_number );
            if ( !R798_is_used_as_basis_for_Invocation().isEmpty() ) R798_is_used_as_basis_for_Invocation().setBase_expression_number( m_expression_number );
            if ( !R776_is_a_Literal().isEmpty() ) R776_is_a_Literal().setExpression_number( m_expression_number );
            if ( !R779_is_left_operand_for_BinaryOperation().isEmpty() ) R779_is_left_operand_for_BinaryOperation().setLeft_expression_number( m_expression_number );
            if ( !R776_is_a_Selected().isEmpty() ) R776_is_a_Selected().setExpression_number( m_expression_number );
            if ( !R482_unrelated_from_formalizer_by_UnrelateSmt().isEmpty() ) R482_unrelated_from_formalizer_by_UnrelateSmt().setPart_expression_number( m_expression_number );
            if ( !R796_defines_condtion_for_Where().isEmpty() ) R796_defines_condtion_for_Where().setWhere_expression_number( m_expression_number );
            if ( !R777_is_single_operand_for_UnaryOperation().isEmpty() ) R777_is_single_operand_for_UnaryOperation().setOp_expression_number( m_expression_number );
            if ( !R790_filtered_by_Where().isEmpty() ) R790_filtered_by_Where().setBase_expression_number( m_expression_number );
            if ( !R776_is_a_ParameterReference().isEmpty() ) R776_is_a_ParameterReference().setExpression_number( m_expression_number );
            if ( !R784_is_wrapped_in_parentheses_by_ParenthesizedExpression().isEmpty() ) R784_is_wrapped_in_parentheses_by_ParenthesizedExpression().setBase_expression_number( m_expression_number );
            if ( !R776_is_a_Where().isEmpty() ) R776_is_a_Where().setExpression_number( m_expression_number );
            if ( !R776_is_a_ConstantReference().isEmpty() ) R776_is_a_ConstantReference().setExpression_number( m_expression_number );
            if ( !R776_is_a_Any().isEmpty() ) R776_is_a_Any().setExpression_number( m_expression_number );
            if ( !R776_is_a_NamedReference().isEmpty() ) R776_is_a_NamedReference().setExpression_number( m_expression_number );
            if ( !R776_is_a_ArrayElementReference().isEmpty() ) R776_is_a_ArrayElementReference().setExpression_number( m_expression_number );
            if ( !R3907_promoted_by_Promotion().isEmpty() ) R3907_promoted_by_Promotion().setInput_expression_number( m_expression_number );
            if ( !R472_determines_execution_of_block_for_WhileSmt().isEmpty() ) R472_determines_execution_of_block_for_WhileSmt().setCond_expression_number( m_expression_number );
            if ( !R476_executed_by_ExpressionAsStatement().isEmpty() ) R476_executed_by_ExpressionAsStatement().setExpression_number( m_expression_number );
            if ( !R791_is_basis_for_SelectRelated().isEmpty() ) R791_is_basis_for_SelectRelated().setRoot_expression_number( m_expression_number );
            if ( !R478_is_iterated_by_ForSmt().isEmpty() ) R478_is_iterated_by_ForSmt().setIterable_expression_number( m_expression_number );
            if ( !R776_is_a_EventCreation().isEmpty() ) R776_is_a_EventCreation().setExpression_number( m_expression_number );
            if ( !R473_defines_return_value_for_ReturnSmt().isEmpty() ) R473_defines_return_value_for_ReturnSmt().setRet_expression_number( m_expression_number );
            if ( !R462_is_deleted_by_DeleteSmt().isEmpty() ) R462_is_deleted_by_DeleteSmt().setExpression_number( m_expression_number );
            if ( !R776_is_a_MemberReference().isEmpty() ) R776_is_a_MemberReference().setExpression_number( m_expression_number );
            if ( !R480_related_to_formalizer_by_RelateSmt().isEmpty() ) R480_related_to_formalizer_by_RelateSmt().setPart_expression_number( m_expression_number );
            if ( !R776_is_a_AttributeAccess().isEmpty() ) R776_is_a_AttributeAccess().setExpression_number( m_expression_number );
            if ( !R776_is_a_VariableReference().isEmpty() ) R776_is_a_VariableReference().setExpression_number( m_expression_number );
            if ( !R787_is_used_as_basis_for_MemberReference().isEmpty() ) R787_is_used_as_basis_for_MemberReference().setRoot_expression_number( m_expression_number );
            if ( !R3901_is_index_for_ArrayElementReference().isEmpty() ) R3901_is_index_for_ArrayElementReference().setIndex_expression_number( m_expression_number );
            if ( !R776_is_a_UnaryOperation().isEmpty() ) R776_is_a_UnaryOperation().setExpression_number( m_expression_number );
            if ( !R3903_EventCreation().isEmpty() ) R3903_EventCreation().setEvt_expression_number( m_expression_number );
            if ( !R776_is_a_Creation().isEmpty() ) R776_is_a_Creation().setExpression_number( m_expression_number );
            if ( !R776_is_a_BinaryOperation().isEmpty() ) R776_is_a_BinaryOperation().setExpression_number( m_expression_number );
            if ( !R471_determines_execution_of_blocks_for_IfSmt().isEmpty() ) R471_determines_execution_of_blocks_for_IfSmt().setCond_expression_number( m_expression_number );
            if ( !R776_is_a_ArrayLengthAccess().isEmpty() ) R776_is_a_ArrayLengthAccess().setExpression_number( m_expression_number );
            if ( !R486_Generate().isEmpty() ) R486_Generate().setEvt_expression_number( m_expression_number );
            if ( !R479_related_to_participant_by_RelateSmt().isEmpty() ) R479_related_to_participant_by_RelateSmt().setForm_expression_number( m_expression_number );
        }
    }
    @Override
    public String getExpression_number() throws XtumlException {
        checkLiving();
        return m_expression_number;
    }
    private String ref_type_name;
    @Override
    public String getType_name() throws XtumlException {
        checkLiving();
        return ref_type_name;
    }
    @Override
    public void setType_name(String ref_type_name) throws XtumlException {
        checkLiving();
        if (StringUtil.inequality(ref_type_name, this.ref_type_name)) {
            final String oldValue = this.ref_type_name;
            this.ref_type_name = ref_type_name;
            getRunContext().addChange(new AttributeChangedDelta(this, KEY_LETTERS, "ref_type_name", oldValue, this.ref_type_name));
        }
    }
    private String ref_type_package;
    @Override
    public void setType_package(String ref_type_package) throws XtumlException {
        checkLiving();
        if (StringUtil.inequality(ref_type_package, this.ref_type_package)) {
            final String oldValue = this.ref_type_package;
            this.ref_type_package = ref_type_package;
            getRunContext().addChange(new AttributeChangedDelta(this, KEY_LETTERS, "ref_type_package", oldValue, this.ref_type_package));
        }
    }
    @Override
    public String getType_package() throws XtumlException {
        checkLiving();
        return ref_type_package;
    }
    private String ref_type_reference_name;
    @Override
    public void setType_reference_name(String ref_type_reference_name) throws XtumlException {
        checkLiving();
        if (StringUtil.inequality(ref_type_reference_name, this.ref_type_reference_name)) {
            final String oldValue = this.ref_type_reference_name;
            this.ref_type_reference_name = ref_type_reference_name;
            getRunContext().addChange(new AttributeChangedDelta(this, KEY_LETTERS, "ref_type_reference_name", oldValue, this.ref_type_reference_name));
        }
    }
    @Override
    public String getType_reference_name() throws XtumlException {
        checkLiving();
        return ref_type_reference_name;
    }


    // instance identifiers
    @Override
    public IInstanceIdentifier getId1() {
        try {
            return new InstanceIdentifier(getParent_name(), getParent_package(), getBody_name(), getBlock_number(), getStatement_number(), getExpression_number());
        }
        catch ( XtumlException e ) {
            getRunContext().getLog().error(e);
            System.exit(1);
            return null;
        }
    }

    // operations
    @Override
    public void render() throws XtumlException {
        Any any = self().R776_is_a_Any();
        if ( !any.isEmpty() ) {
            any.render();
        }
        else {
            ArrayElementReference arrayelementreference = self().R776_is_a_ArrayElementReference();
            if ( !arrayelementreference.isEmpty() ) {
                arrayelementreference.render();
            }
            else {
                ArrayLengthAccess arraylengthaccess = self().R776_is_a_ArrayLengthAccess();
                if ( !arraylengthaccess.isEmpty() ) {
                    arraylengthaccess.render();
                }
                else {
                    AttributeAccess attributeaccess = self().R776_is_a_AttributeAccess();
                    if ( !attributeaccess.isEmpty() ) {
                        attributeaccess.render();
                    }
                    else {
                        BinaryOperation binaryoperation = self().R776_is_a_BinaryOperation();
                        if ( !binaryoperation.isEmpty() ) {
                            binaryoperation.render();
                        }
                        else {
                            ConstantReference constantreference = self().R776_is_a_ConstantReference();
                            if ( !constantreference.isEmpty() ) {
                                constantreference.render();
                            }
                            else {
                                Creation creation = self().R776_is_a_Creation();
                                if ( !creation.isEmpty() ) {
                                    creation.render();
                                }
                                else {
                                    EnumeratorReference enumeratorreference = self().R776_is_a_EnumeratorReference();
                                    if ( !enumeratorreference.isEmpty() ) {
                                        enumeratorreference.render();
                                    }
                                    else {
                                        EventCreation eventcreation = self().R776_is_a_EventCreation();
                                        if ( !eventcreation.isEmpty() ) {
                                            eventcreation.render();
                                        }
                                        else {
                                            Invocation invocation = self().R776_is_a_Invocation();
                                            if ( !invocation.isEmpty() ) {
                                                invocation.render();
                                            }
                                            else {
                                                Literal literal = self().R776_is_a_Literal();
                                                if ( !literal.isEmpty() ) {
                                                    literal.render();
                                                }
                                                else {
                                                    MemberReference memberreference = self().R776_is_a_MemberReference();
                                                    if ( !memberreference.isEmpty() ) {
                                                        memberreference.render();
                                                    }
                                                    else {
                                                        NamedReference namedreference = self().R776_is_a_NamedReference();
                                                        if ( !namedreference.isEmpty() ) {
                                                            namedreference.render();
                                                        }
                                                        else {
                                                            ParameterReference parameterreference = self().R776_is_a_ParameterReference();
                                                            if ( !parameterreference.isEmpty() ) {
                                                                parameterreference.render();
                                                            }
                                                            else {
                                                                ParenthesizedExpression parenthesizedexpression = self().R776_is_a_ParenthesizedExpression();
                                                                if ( !parenthesizedexpression.isEmpty() ) {
                                                                    parenthesizedexpression.render();
                                                                }
                                                                else {
                                                                    Promotion promotion = self().R776_is_a_Promotion();
                                                                    if ( !promotion.isEmpty() ) {
                                                                        promotion.render();
                                                                    }
                                                                    else {
                                                                        Select select = self().R776_is_a_Select();
                                                                        if ( !select.isEmpty() ) {
                                                                            select.render();
                                                                        }
                                                                        else {
                                                                            Selected selected = self().R776_is_a_Selected();
                                                                            if ( !selected.isEmpty() ) {
                                                                                selected.render();
                                                                            }
                                                                            else {
                                                                                UnaryOperation unaryoperation = self().R776_is_a_UnaryOperation();
                                                                                if ( !unaryoperation.isEmpty() ) {
                                                                                    unaryoperation.render();
                                                                                }
                                                                                else {
                                                                                    VariableReference variablereference = self().R776_is_a_VariableReference();
                                                                                    if ( !variablereference.isEmpty() ) {
                                                                                        variablereference.render();
                                                                                    }
                                                                                    else {
                                                                                        Where where = self().R776_is_a_Where();
                                                                                        if ( !where.isEmpty() ) {
                                                                                            where.render();
                                                                                        }
                                                                                        else {
                                                                                            throw new XtumlException("No subtype selected");
                                                                                        }
                                                                                    }
                                                                                }
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }



    // static operations


    // events


    // selections
    private ArrayElementReference R3900_is_root_for_ArrayElementReference_inst;
    @Override
    public void setR3900_is_root_for_ArrayElementReference( ArrayElementReference inst ) {
        R3900_is_root_for_ArrayElementReference_inst = inst;
    }
    @Override
    public ArrayElementReference R3900_is_root_for_ArrayElementReference() throws XtumlException {
        return R3900_is_root_for_ArrayElementReference_inst;
    }
    private ArrayElementReference R3901_is_index_for_ArrayElementReference_inst;
    @Override
    public void setR3901_is_index_for_ArrayElementReference( ArrayElementReference inst ) {
        R3901_is_index_for_ArrayElementReference_inst = inst;
    }
    @Override
    public ArrayElementReference R3901_is_index_for_ArrayElementReference() throws XtumlException {
        return R3901_is_index_for_ArrayElementReference_inst;
    }
    private EventCreation R3902_EventCreation_inst;
    @Override
    public void setR3902_EventCreation( EventCreation inst ) {
        R3902_EventCreation_inst = inst;
    }
    @Override
    public EventCreation R3902_EventCreation() throws XtumlException {
        return R3902_EventCreation_inst;
    }
    private EventCreation R3903_EventCreation_inst;
    @Override
    public void setR3903_EventCreation( EventCreation inst ) {
        R3903_EventCreation_inst = inst;
    }
    @Override
    public EventCreation R3903_EventCreation() throws XtumlException {
        return R3903_EventCreation_inst;
    }
    private Promotion R3907_promoted_by_Promotion_inst;
    @Override
    public void setR3907_promoted_by_Promotion( Promotion inst ) {
        R3907_promoted_by_Promotion_inst = inst;
    }
    @Override
    public Promotion R3907_promoted_by_Promotion() throws XtumlException {
        return R3907_promoted_by_Promotion_inst;
    }
    private DeleteSmtSet R462_is_deleted_by_DeleteSmt_set;
    @Override
    public void addR462_is_deleted_by_DeleteSmt( DeleteSmt inst ) {
        R462_is_deleted_by_DeleteSmt_set.add(inst);
    }
    @Override
    public void removeR462_is_deleted_by_DeleteSmt( DeleteSmt inst ) {
        R462_is_deleted_by_DeleteSmt_set.remove(inst);
    }
    @Override
    public DeleteSmtSet R462_is_deleted_by_DeleteSmt() throws XtumlException {
        return R462_is_deleted_by_DeleteSmt_set;
    }
    private IfSmt R471_determines_execution_of_blocks_for_IfSmt_inst;
    @Override
    public void setR471_determines_execution_of_blocks_for_IfSmt( IfSmt inst ) {
        R471_determines_execution_of_blocks_for_IfSmt_inst = inst;
    }
    @Override
    public IfSmt R471_determines_execution_of_blocks_for_IfSmt() throws XtumlException {
        return R471_determines_execution_of_blocks_for_IfSmt_inst;
    }
    private WhileSmt R472_determines_execution_of_block_for_WhileSmt_inst;
    @Override
    public void setR472_determines_execution_of_block_for_WhileSmt( WhileSmt inst ) {
        R472_determines_execution_of_block_for_WhileSmt_inst = inst;
    }
    @Override
    public WhileSmt R472_determines_execution_of_block_for_WhileSmt() throws XtumlException {
        return R472_determines_execution_of_block_for_WhileSmt_inst;
    }
    private ReturnSmt R473_defines_return_value_for_ReturnSmt_inst;
    @Override
    public void setR473_defines_return_value_for_ReturnSmt( ReturnSmt inst ) {
        R473_defines_return_value_for_ReturnSmt_inst = inst;
    }
    @Override
    public ReturnSmt R473_defines_return_value_for_ReturnSmt() throws XtumlException {
        return R473_defines_return_value_for_ReturnSmt_inst;
    }
    private ExpressionAsStatement R476_executed_by_ExpressionAsStatement_inst;
    @Override
    public void setR476_executed_by_ExpressionAsStatement( ExpressionAsStatement inst ) {
        R476_executed_by_ExpressionAsStatement_inst = inst;
    }
    @Override
    public ExpressionAsStatement R476_executed_by_ExpressionAsStatement() throws XtumlException {
        return R476_executed_by_ExpressionAsStatement_inst;
    }
    private ForSmt R478_is_iterated_by_ForSmt_inst;
    @Override
    public void setR478_is_iterated_by_ForSmt( ForSmt inst ) {
        R478_is_iterated_by_ForSmt_inst = inst;
    }
    @Override
    public ForSmt R478_is_iterated_by_ForSmt() throws XtumlException {
        return R478_is_iterated_by_ForSmt_inst;
    }
    private RelateSmt R479_related_to_participant_by_RelateSmt_inst;
    @Override
    public void setR479_related_to_participant_by_RelateSmt( RelateSmt inst ) {
        R479_related_to_participant_by_RelateSmt_inst = inst;
    }
    @Override
    public RelateSmt R479_related_to_participant_by_RelateSmt() throws XtumlException {
        return R479_related_to_participant_by_RelateSmt_inst;
    }
    private RelateSmt R480_related_to_formalizer_by_RelateSmt_inst;
    @Override
    public void setR480_related_to_formalizer_by_RelateSmt( RelateSmt inst ) {
        R480_related_to_formalizer_by_RelateSmt_inst = inst;
    }
    @Override
    public RelateSmt R480_related_to_formalizer_by_RelateSmt() throws XtumlException {
        return R480_related_to_formalizer_by_RelateSmt_inst;
    }
    private UnrelateSmt R482_unrelated_from_formalizer_by_UnrelateSmt_inst;
    @Override
    public void setR482_unrelated_from_formalizer_by_UnrelateSmt( UnrelateSmt inst ) {
        R482_unrelated_from_formalizer_by_UnrelateSmt_inst = inst;
    }
    @Override
    public UnrelateSmt R482_unrelated_from_formalizer_by_UnrelateSmt() throws XtumlException {
        return R482_unrelated_from_formalizer_by_UnrelateSmt_inst;
    }
    private UnrelateSmt R483_unrelated_from_participant_by_UnrelateSmt_inst;
    @Override
    public void setR483_unrelated_from_participant_by_UnrelateSmt( UnrelateSmt inst ) {
        R483_unrelated_from_participant_by_UnrelateSmt_inst = inst;
    }
    @Override
    public UnrelateSmt R483_unrelated_from_participant_by_UnrelateSmt() throws XtumlException {
        return R483_unrelated_from_participant_by_UnrelateSmt_inst;
    }
    private Generate R486_Generate_inst;
    @Override
    public void setR486_Generate( Generate inst ) {
        R486_Generate_inst = inst;
    }
    @Override
    public Generate R486_Generate() throws XtumlException {
        return R486_Generate_inst;
    }
    private Statement R775_expressed_within_Statement_inst;
    @Override
    public void setR775_expressed_within_Statement( Statement inst ) {
        R775_expressed_within_Statement_inst = inst;
    }
    @Override
    public Statement R775_expressed_within_Statement() throws XtumlException {
        return R775_expressed_within_Statement_inst;
    }
    private Any R776_is_a_Any_inst;
    @Override
    public void setR776_is_a_Any( Any inst ) {
        R776_is_a_Any_inst = inst;
    }
    @Override
    public Any R776_is_a_Any() throws XtumlException {
        return R776_is_a_Any_inst;
    }
    private ArrayElementReference R776_is_a_ArrayElementReference_inst;
    @Override
    public void setR776_is_a_ArrayElementReference( ArrayElementReference inst ) {
        R776_is_a_ArrayElementReference_inst = inst;
    }
    @Override
    public ArrayElementReference R776_is_a_ArrayElementReference() throws XtumlException {
        return R776_is_a_ArrayElementReference_inst;
    }
    private ArrayLengthAccess R776_is_a_ArrayLengthAccess_inst;
    @Override
    public void setR776_is_a_ArrayLengthAccess( ArrayLengthAccess inst ) {
        R776_is_a_ArrayLengthAccess_inst = inst;
    }
    @Override
    public ArrayLengthAccess R776_is_a_ArrayLengthAccess() throws XtumlException {
        return R776_is_a_ArrayLengthAccess_inst;
    }
    private AttributeAccess R776_is_a_AttributeAccess_inst;
    @Override
    public void setR776_is_a_AttributeAccess( AttributeAccess inst ) {
        R776_is_a_AttributeAccess_inst = inst;
    }
    @Override
    public AttributeAccess R776_is_a_AttributeAccess() throws XtumlException {
        return R776_is_a_AttributeAccess_inst;
    }
    private BinaryOperation R776_is_a_BinaryOperation_inst;
    @Override
    public void setR776_is_a_BinaryOperation( BinaryOperation inst ) {
        R776_is_a_BinaryOperation_inst = inst;
    }
    @Override
    public BinaryOperation R776_is_a_BinaryOperation() throws XtumlException {
        return R776_is_a_BinaryOperation_inst;
    }
    private ConstantReference R776_is_a_ConstantReference_inst;
    @Override
    public void setR776_is_a_ConstantReference( ConstantReference inst ) {
        R776_is_a_ConstantReference_inst = inst;
    }
    @Override
    public ConstantReference R776_is_a_ConstantReference() throws XtumlException {
        return R776_is_a_ConstantReference_inst;
    }
    private Creation R776_is_a_Creation_inst;
    @Override
    public void setR776_is_a_Creation( Creation inst ) {
        R776_is_a_Creation_inst = inst;
    }
    @Override
    public Creation R776_is_a_Creation() throws XtumlException {
        return R776_is_a_Creation_inst;
    }
    private EnumeratorReference R776_is_a_EnumeratorReference_inst;
    @Override
    public void setR776_is_a_EnumeratorReference( EnumeratorReference inst ) {
        R776_is_a_EnumeratorReference_inst = inst;
    }
    @Override
    public EnumeratorReference R776_is_a_EnumeratorReference() throws XtumlException {
        return R776_is_a_EnumeratorReference_inst;
    }
    private EventCreation R776_is_a_EventCreation_inst;
    @Override
    public void setR776_is_a_EventCreation( EventCreation inst ) {
        R776_is_a_EventCreation_inst = inst;
    }
    @Override
    public EventCreation R776_is_a_EventCreation() throws XtumlException {
        return R776_is_a_EventCreation_inst;
    }
    private Invocation R776_is_a_Invocation_inst;
    @Override
    public void setR776_is_a_Invocation( Invocation inst ) {
        R776_is_a_Invocation_inst = inst;
    }
    @Override
    public Invocation R776_is_a_Invocation() throws XtumlException {
        return R776_is_a_Invocation_inst;
    }
    private Literal R776_is_a_Literal_inst;
    @Override
    public void setR776_is_a_Literal( Literal inst ) {
        R776_is_a_Literal_inst = inst;
    }
    @Override
    public Literal R776_is_a_Literal() throws XtumlException {
        return R776_is_a_Literal_inst;
    }
    private MemberReference R776_is_a_MemberReference_inst;
    @Override
    public void setR776_is_a_MemberReference( MemberReference inst ) {
        R776_is_a_MemberReference_inst = inst;
    }
    @Override
    public MemberReference R776_is_a_MemberReference() throws XtumlException {
        return R776_is_a_MemberReference_inst;
    }
    private NamedReference R776_is_a_NamedReference_inst;
    @Override
    public void setR776_is_a_NamedReference( NamedReference inst ) {
        R776_is_a_NamedReference_inst = inst;
    }
    @Override
    public NamedReference R776_is_a_NamedReference() throws XtumlException {
        return R776_is_a_NamedReference_inst;
    }
    private ParameterReference R776_is_a_ParameterReference_inst;
    @Override
    public void setR776_is_a_ParameterReference( ParameterReference inst ) {
        R776_is_a_ParameterReference_inst = inst;
    }
    @Override
    public ParameterReference R776_is_a_ParameterReference() throws XtumlException {
        return R776_is_a_ParameterReference_inst;
    }
    private ParenthesizedExpression R776_is_a_ParenthesizedExpression_inst;
    @Override
    public void setR776_is_a_ParenthesizedExpression( ParenthesizedExpression inst ) {
        R776_is_a_ParenthesizedExpression_inst = inst;
    }
    @Override
    public ParenthesizedExpression R776_is_a_ParenthesizedExpression() throws XtumlException {
        return R776_is_a_ParenthesizedExpression_inst;
    }
    private Promotion R776_is_a_Promotion_inst;
    @Override
    public void setR776_is_a_Promotion( Promotion inst ) {
        R776_is_a_Promotion_inst = inst;
    }
    @Override
    public Promotion R776_is_a_Promotion() throws XtumlException {
        return R776_is_a_Promotion_inst;
    }
    private Select R776_is_a_Select_inst;
    @Override
    public void setR776_is_a_Select( Select inst ) {
        R776_is_a_Select_inst = inst;
    }
    @Override
    public Select R776_is_a_Select() throws XtumlException {
        return R776_is_a_Select_inst;
    }
    private Selected R776_is_a_Selected_inst;
    @Override
    public void setR776_is_a_Selected( Selected inst ) {
        R776_is_a_Selected_inst = inst;
    }
    @Override
    public Selected R776_is_a_Selected() throws XtumlException {
        return R776_is_a_Selected_inst;
    }
    private UnaryOperation R776_is_a_UnaryOperation_inst;
    @Override
    public void setR776_is_a_UnaryOperation( UnaryOperation inst ) {
        R776_is_a_UnaryOperation_inst = inst;
    }
    @Override
    public UnaryOperation R776_is_a_UnaryOperation() throws XtumlException {
        return R776_is_a_UnaryOperation_inst;
    }
    private VariableReference R776_is_a_VariableReference_inst;
    @Override
    public void setR776_is_a_VariableReference( VariableReference inst ) {
        R776_is_a_VariableReference_inst = inst;
    }
    @Override
    public VariableReference R776_is_a_VariableReference() throws XtumlException {
        return R776_is_a_VariableReference_inst;
    }
    private Where R776_is_a_Where_inst;
    @Override
    public void setR776_is_a_Where( Where inst ) {
        R776_is_a_Where_inst = inst;
    }
    @Override
    public Where R776_is_a_Where() throws XtumlException {
        return R776_is_a_Where_inst;
    }
    private UnaryOperation R777_is_single_operand_for_UnaryOperation_inst;
    @Override
    public void setR777_is_single_operand_for_UnaryOperation( UnaryOperation inst ) {
        R777_is_single_operand_for_UnaryOperation_inst = inst;
    }
    @Override
    public UnaryOperation R777_is_single_operand_for_UnaryOperation() throws XtumlException {
        return R777_is_single_operand_for_UnaryOperation_inst;
    }
    private BinaryOperation R778_is_right_operand_for_BinaryOperation_inst;
    @Override
    public void setR778_is_right_operand_for_BinaryOperation( BinaryOperation inst ) {
        R778_is_right_operand_for_BinaryOperation_inst = inst;
    }
    @Override
    public BinaryOperation R778_is_right_operand_for_BinaryOperation() throws XtumlException {
        return R778_is_right_operand_for_BinaryOperation_inst;
    }
    private BinaryOperation R779_is_left_operand_for_BinaryOperation_inst;
    @Override
    public void setR779_is_left_operand_for_BinaryOperation( BinaryOperation inst ) {
        R779_is_left_operand_for_BinaryOperation_inst = inst;
    }
    @Override
    public BinaryOperation R779_is_left_operand_for_BinaryOperation() throws XtumlException {
        return R779_is_left_operand_for_BinaryOperation_inst;
    }
    private Any R783_is_basis_for_Any_inst;
    @Override
    public void setR783_is_basis_for_Any( Any inst ) {
        R783_is_basis_for_Any_inst = inst;
    }
    @Override
    public Any R783_is_basis_for_Any() throws XtumlException {
        return R783_is_basis_for_Any_inst;
    }
    private ParenthesizedExpression R784_is_wrapped_in_parentheses_by_ParenthesizedExpression_inst;
    @Override
    public void setR784_is_wrapped_in_parentheses_by_ParenthesizedExpression( ParenthesizedExpression inst ) {
        R784_is_wrapped_in_parentheses_by_ParenthesizedExpression_inst = inst;
    }
    @Override
    public ParenthesizedExpression R784_is_wrapped_in_parentheses_by_ParenthesizedExpression() throws XtumlException {
        return R784_is_wrapped_in_parentheses_by_ParenthesizedExpression_inst;
    }
    private AttributeAccess R785_is_used_as_basis_for_AttributeAccess_inst;
    @Override
    public void setR785_is_used_as_basis_for_AttributeAccess( AttributeAccess inst ) {
        R785_is_used_as_basis_for_AttributeAccess_inst = inst;
    }
    @Override
    public AttributeAccess R785_is_used_as_basis_for_AttributeAccess() throws XtumlException {
        return R785_is_used_as_basis_for_AttributeAccess_inst;
    }
    private MemberReference R787_is_used_as_basis_for_MemberReference_inst;
    @Override
    public void setR787_is_used_as_basis_for_MemberReference( MemberReference inst ) {
        R787_is_used_as_basis_for_MemberReference_inst = inst;
    }
    @Override
    public MemberReference R787_is_used_as_basis_for_MemberReference() throws XtumlException {
        return R787_is_used_as_basis_for_MemberReference_inst;
    }
    private Where R790_filtered_by_Where_inst;
    @Override
    public void setR790_filtered_by_Where( Where inst ) {
        R790_filtered_by_Where_inst = inst;
    }
    @Override
    public Where R790_filtered_by_Where() throws XtumlException {
        return R790_filtered_by_Where_inst;
    }
    private SelectRelated R791_is_basis_for_SelectRelated_inst;
    @Override
    public void setR791_is_basis_for_SelectRelated( SelectRelated inst ) {
        R791_is_basis_for_SelectRelated_inst = inst;
    }
    @Override
    public SelectRelated R791_is_basis_for_SelectRelated() throws XtumlException {
        return R791_is_basis_for_SelectRelated_inst;
    }
    private ActualParameter R794_defines_value_for_ActualParameter_inst;
    @Override
    public void setR794_defines_value_for_ActualParameter( ActualParameter inst ) {
        R794_defines_value_for_ActualParameter_inst = inst;
    }
    @Override
    public ActualParameter R794_defines_value_for_ActualParameter() throws XtumlException {
        return R794_defines_value_for_ActualParameter_inst;
    }
    private TypeReference R795_expresses_value_of_TypeReference_inst;
    @Override
    public void setR795_expresses_value_of_TypeReference( TypeReference inst ) {
        R795_expresses_value_of_TypeReference_inst = inst;
    }
    @Override
    public TypeReference R795_expresses_value_of_TypeReference() throws XtumlException {
        return R795_expresses_value_of_TypeReference_inst;
    }
    private Where R796_defines_condtion_for_Where_inst;
    @Override
    public void setR796_defines_condtion_for_Where( Where inst ) {
        R796_defines_condtion_for_Where_inst = inst;
    }
    @Override
    public Where R796_defines_condtion_for_Where() throws XtumlException {
        return R796_defines_condtion_for_Where_inst;
    }
    private Invocation R798_is_used_as_basis_for_Invocation_inst;
    @Override
    public void setR798_is_used_as_basis_for_Invocation( Invocation inst ) {
        R798_is_used_as_basis_for_Invocation_inst = inst;
    }
    @Override
    public Invocation R798_is_used_as_basis_for_Invocation() throws XtumlException {
        return R798_is_used_as_basis_for_Invocation_inst;
    }


    @Override
    public IRunContext getRunContext() {
        return context().getRunContext();
    }

    @Override
    public Sql context() {
        return context;
    }

    @Override
    public String getKeyLetters() {
        return KEY_LETTERS;
    }

    @Override
    public Expression self() {
        return this;
    }

    @Override
    public Expression oneWhere(IWhere condition) throws XtumlException {
        if (null == condition) throw new XtumlException("Null condition passed to selection.");
        if (condition.evaluate(this)) return this;
        else return EMPTY_EXPRESSION;
    }

}

class EmptyExpression extends ModelInstance implements Expression {

    // attributes
    public void setParent_name( String ref_parent_name ) throws XtumlException {
        throw new EmptyInstanceException( "Cannot set attribute of empty instance." );
    }
    public String getParent_name() throws XtumlException {
        throw new EmptyInstanceException( "Cannot get attribute of empty instance." );
    }
    public void setParent_package( String ref_parent_package ) throws XtumlException {
        throw new EmptyInstanceException( "Cannot set attribute of empty instance." );
    }
    public String getParent_package() throws XtumlException {
        throw new EmptyInstanceException( "Cannot get attribute of empty instance." );
    }
    public String getBody_name() throws XtumlException {
        throw new EmptyInstanceException( "Cannot get attribute of empty instance." );
    }
    public void setBody_name( String ref_body_name ) throws XtumlException {
        throw new EmptyInstanceException( "Cannot set attribute of empty instance." );
    }
    public String getBlock_number() throws XtumlException {
        throw new EmptyInstanceException( "Cannot get attribute of empty instance." );
    }
    public void setBlock_number( String ref_block_number ) throws XtumlException {
        throw new EmptyInstanceException( "Cannot set attribute of empty instance." );
    }
    public void setStatement_number( String ref_statement_number ) throws XtumlException {
        throw new EmptyInstanceException( "Cannot set attribute of empty instance." );
    }
    public String getStatement_number() throws XtumlException {
        throw new EmptyInstanceException( "Cannot get attribute of empty instance." );
    }
    public void setExpression_number( String m_expression_number ) throws XtumlException {
        throw new EmptyInstanceException( "Cannot set attribute of empty instance." );
    }
    public String getExpression_number() throws XtumlException {
        throw new EmptyInstanceException( "Cannot get attribute of empty instance." );
    }
    public String getType_name() throws XtumlException {
        throw new EmptyInstanceException( "Cannot get attribute of empty instance." );
    }
    public void setType_name( String ref_type_name ) throws XtumlException {
        throw new EmptyInstanceException( "Cannot set attribute of empty instance." );
    }
    public void setType_package( String ref_type_package ) throws XtumlException {
        throw new EmptyInstanceException( "Cannot set attribute of empty instance." );
    }
    public String getType_package() throws XtumlException {
        throw new EmptyInstanceException( "Cannot get attribute of empty instance." );
    }
    public void setType_reference_name( String ref_type_reference_name ) throws XtumlException {
        throw new EmptyInstanceException( "Cannot set attribute of empty instance." );
    }
    public String getType_reference_name() throws XtumlException {
        throw new EmptyInstanceException( "Cannot get attribute of empty instance." );
    }


    // operations
    public void render() throws XtumlException {
        throw new EmptyInstanceException( "Cannot invoke operation on empty instance." );
    }


    // selections
    @Override
    public ArrayElementReference R3900_is_root_for_ArrayElementReference() {
        return ArrayElementReferenceImpl.EMPTY_ARRAYELEMENTREFERENCE;
    }
    @Override
    public ArrayElementReference R3901_is_index_for_ArrayElementReference() {
        return ArrayElementReferenceImpl.EMPTY_ARRAYELEMENTREFERENCE;
    }
    @Override
    public EventCreation R3902_EventCreation() {
        return EventCreationImpl.EMPTY_EVENTCREATION;
    }
    @Override
    public EventCreation R3903_EventCreation() {
        return EventCreationImpl.EMPTY_EVENTCREATION;
    }
    @Override
    public Promotion R3907_promoted_by_Promotion() {
        return PromotionImpl.EMPTY_PROMOTION;
    }
    @Override
    public DeleteSmtSet R462_is_deleted_by_DeleteSmt() {
        return (new DeleteSmtSetImpl());
    }
    @Override
    public IfSmt R471_determines_execution_of_blocks_for_IfSmt() {
        return IfSmtImpl.EMPTY_IFSMT;
    }
    @Override
    public WhileSmt R472_determines_execution_of_block_for_WhileSmt() {
        return WhileSmtImpl.EMPTY_WHILESMT;
    }
    @Override
    public ReturnSmt R473_defines_return_value_for_ReturnSmt() {
        return ReturnSmtImpl.EMPTY_RETURNSMT;
    }
    @Override
    public ExpressionAsStatement R476_executed_by_ExpressionAsStatement() {
        return ExpressionAsStatementImpl.EMPTY_EXPRESSIONASSTATEMENT;
    }
    @Override
    public ForSmt R478_is_iterated_by_ForSmt() {
        return ForSmtImpl.EMPTY_FORSMT;
    }
    @Override
    public RelateSmt R479_related_to_participant_by_RelateSmt() {
        return RelateSmtImpl.EMPTY_RELATESMT;
    }
    @Override
    public RelateSmt R480_related_to_formalizer_by_RelateSmt() {
        return RelateSmtImpl.EMPTY_RELATESMT;
    }
    @Override
    public UnrelateSmt R482_unrelated_from_formalizer_by_UnrelateSmt() {
        return UnrelateSmtImpl.EMPTY_UNRELATESMT;
    }
    @Override
    public UnrelateSmt R483_unrelated_from_participant_by_UnrelateSmt() {
        return UnrelateSmtImpl.EMPTY_UNRELATESMT;
    }
    @Override
    public Generate R486_Generate() {
        return GenerateImpl.EMPTY_GENERATE;
    }
    @Override
    public Statement R775_expressed_within_Statement() {
        return StatementImpl.EMPTY_STATEMENT;
    }
    @Override
    public Any R776_is_a_Any() {
        return AnyImpl.EMPTY_ANY;
    }
    @Override
    public ArrayElementReference R776_is_a_ArrayElementReference() {
        return ArrayElementReferenceImpl.EMPTY_ARRAYELEMENTREFERENCE;
    }
    @Override
    public ArrayLengthAccess R776_is_a_ArrayLengthAccess() {
        return ArrayLengthAccessImpl.EMPTY_ARRAYLENGTHACCESS;
    }
    @Override
    public AttributeAccess R776_is_a_AttributeAccess() {
        return AttributeAccessImpl.EMPTY_ATTRIBUTEACCESS;
    }
    @Override
    public BinaryOperation R776_is_a_BinaryOperation() {
        return BinaryOperationImpl.EMPTY_BINARYOPERATION;
    }
    @Override
    public ConstantReference R776_is_a_ConstantReference() {
        return ConstantReferenceImpl.EMPTY_CONSTANTREFERENCE;
    }
    @Override
    public Creation R776_is_a_Creation() {
        return CreationImpl.EMPTY_CREATION;
    }
    @Override
    public EnumeratorReference R776_is_a_EnumeratorReference() {
        return EnumeratorReferenceImpl.EMPTY_ENUMERATORREFERENCE;
    }
    @Override
    public EventCreation R776_is_a_EventCreation() {
        return EventCreationImpl.EMPTY_EVENTCREATION;
    }
    @Override
    public Invocation R776_is_a_Invocation() {
        return InvocationImpl.EMPTY_INVOCATION;
    }
    @Override
    public Literal R776_is_a_Literal() {
        return LiteralImpl.EMPTY_LITERAL;
    }
    @Override
    public MemberReference R776_is_a_MemberReference() {
        return MemberReferenceImpl.EMPTY_MEMBERREFERENCE;
    }
    @Override
    public NamedReference R776_is_a_NamedReference() {
        return NamedReferenceImpl.EMPTY_NAMEDREFERENCE;
    }
    @Override
    public ParameterReference R776_is_a_ParameterReference() {
        return ParameterReferenceImpl.EMPTY_PARAMETERREFERENCE;
    }
    @Override
    public ParenthesizedExpression R776_is_a_ParenthesizedExpression() {
        return ParenthesizedExpressionImpl.EMPTY_PARENTHESIZEDEXPRESSION;
    }
    @Override
    public Promotion R776_is_a_Promotion() {
        return PromotionImpl.EMPTY_PROMOTION;
    }
    @Override
    public Select R776_is_a_Select() {
        return SelectImpl.EMPTY_SELECT;
    }
    @Override
    public Selected R776_is_a_Selected() {
        return SelectedImpl.EMPTY_SELECTED;
    }
    @Override
    public UnaryOperation R776_is_a_UnaryOperation() {
        return UnaryOperationImpl.EMPTY_UNARYOPERATION;
    }
    @Override
    public VariableReference R776_is_a_VariableReference() {
        return VariableReferenceImpl.EMPTY_VARIABLEREFERENCE;
    }
    @Override
    public Where R776_is_a_Where() {
        return WhereImpl.EMPTY_WHERE;
    }
    @Override
    public UnaryOperation R777_is_single_operand_for_UnaryOperation() {
        return UnaryOperationImpl.EMPTY_UNARYOPERATION;
    }
    @Override
    public BinaryOperation R778_is_right_operand_for_BinaryOperation() {
        return BinaryOperationImpl.EMPTY_BINARYOPERATION;
    }
    @Override
    public BinaryOperation R779_is_left_operand_for_BinaryOperation() {
        return BinaryOperationImpl.EMPTY_BINARYOPERATION;
    }
    @Override
    public Any R783_is_basis_for_Any() {
        return AnyImpl.EMPTY_ANY;
    }
    @Override
    public ParenthesizedExpression R784_is_wrapped_in_parentheses_by_ParenthesizedExpression() {
        return ParenthesizedExpressionImpl.EMPTY_PARENTHESIZEDEXPRESSION;
    }
    @Override
    public AttributeAccess R785_is_used_as_basis_for_AttributeAccess() {
        return AttributeAccessImpl.EMPTY_ATTRIBUTEACCESS;
    }
    @Override
    public MemberReference R787_is_used_as_basis_for_MemberReference() {
        return MemberReferenceImpl.EMPTY_MEMBERREFERENCE;
    }
    @Override
    public Where R790_filtered_by_Where() {
        return WhereImpl.EMPTY_WHERE;
    }
    @Override
    public SelectRelated R791_is_basis_for_SelectRelated() {
        return SelectRelatedImpl.EMPTY_SELECTRELATED;
    }
    @Override
    public ActualParameter R794_defines_value_for_ActualParameter() {
        return ActualParameterImpl.EMPTY_ACTUALPARAMETER;
    }
    @Override
    public TypeReference R795_expresses_value_of_TypeReference() {
        return TypeReferenceImpl.EMPTY_TYPEREFERENCE;
    }
    @Override
    public Where R796_defines_condtion_for_Where() {
        return WhereImpl.EMPTY_WHERE;
    }
    @Override
    public Invocation R798_is_used_as_basis_for_Invocation() {
        return InvocationImpl.EMPTY_INVOCATION;
    }


    @Override
    public String getKeyLetters() {
        return ExpressionImpl.KEY_LETTERS;
    }

    @Override
    public Expression self() {
        return this;
    }

    @Override
    public boolean isEmpty() {
        return true;
    }

    @Override
    public Expression oneWhere(IWhere condition) throws XtumlException {
        if (null == condition) throw new XtumlException("Null condition passed to selection.");
        return ExpressionImpl.EMPTY_EXPRESSION;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy