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 AstPredicateList)
                {
                m_predicateList = (AstPredicateList) n;
                }
            else if (n instanceof AstVector)
                {
                m_predicateList = new AstPredicateList();
                AstVector v = (AstVector) n;
                int i;
                for (i = 0; i < v.m_list.size(); i++)
                    {
                    AstBase b = (AstBase) v.m_list.get(i);
                    m_predicateList.m_predicates.add(b);
                    }
                }
            else if (n instanceof AstPredicate)
                {
                if (m_predicateList == null)
                    {
                    m_predicateList = new AstPredicateList();
                    }
                m_predicateList.add(n);
                }
            else
                {
                super.add(n);
                }
        }