public void add(AstBase n)
        {
            if (n instanceof AstDeclaration)
                {
                if (m_declaration == null)
                    {
                    m_declaration = (AstDeclaration) n;
                    }
                else
                    {
                    m_declaration.add(n);
                    }
                }
            else if (n instanceof AstOperationName)
                {
                m_operationName = (AstOperationName) n;
                }
            else if (n instanceof AstPredicateList)
                {
                if (m_predicateList == null)
                    {
                    m_predicateList = (AstPredicateList) n;
                    }
                else
                    {
                    m_predicateList.add(n);
                    }
                }
            else if (n instanceof AstPredicate)
                {
                if (m_predicateList == null)
                    {
                    m_predicateList = new AstPredicateList();
                    }
                m_predicateList.add(n);
                }
            else if (n instanceof AstOperationExpression)
                {
                m_operationExpression = (AstOperationExpression) n;
                }
            else if (n instanceof AstDeltaList)
                {
                m_deltaList = (AstDeltaList) n;
                }
            else if (n instanceof AstDeclarationNameList)
                {
                m_deltaList = new AstDeltaList(this.operation);
                m_deltaList.m_declarationNameList = (AstDeclarationNameList) n;
//            m_deltaList.m_ttcl = n.m_ttcl;
                }
            else if (n instanceof AstIdentifier)
                {
                m_operationName = new AstOperationName(operation);
                m_operationName.m_identifier = (AstIdentifier) n;
                }
            else if (n instanceof AstVector)
                {
                if (m_predicateList == null)
                    {
                    m_predicateList = new AstPredicateList();
                    }
                int i;
                List v = ((AstVector) n).m_list;
                for (i = 0; i < v.size(); i++)
                    {
                    m_predicateList.m_predicates.add((AstBase) v.get(i));
                    }
                }
            else
                {
                super.add(n);
                }
        }