private void setErrorFlag(BaseNode node)
        {
            switch (node.NodeType)
            {
            case MyNodes.EnvelopeGroup:
            case MyNodes.Envelope:
            case MyNodes.AENode:
                break;

            case MyNodes.Root:
                RootNode rNode = node as RootNode;
                rNode.SetError(this.e_isCatagoryError(rNode.Catagory));
                foreach (BaseNode child in node.Nodes)
                {
                    setErrorFlag(child);
                }
                break;

            case MyNodes.AccountType:
                TypeNode tNode = node as TypeNode;
                tNode.SetError(this.e_isTypeError(tNode.Catagory, tNode.TypeID));
                foreach (BaseNode child in node.Nodes)
                {
                    setErrorFlag(child);
                }
                break;

            case MyNodes.Account:
                AccountNode aNode = node as AccountNode;
                aNode.SetError(this.e_isAccountError(aNode.AccountID));
                break;
            }
        }
        private bool setErrorFlag(BaseNode node, int accountID, bool error)
        {
            switch (node.NodeType)
            {
            case MyNodes.EnvelopeGroup:
            case MyNodes.Envelope:
            case MyNodes.AENode:
                break;

            case MyNodes.Root:
                RootNode rNode = node as RootNode;
                rNode.SetError(this.e_isCatagoryError(rNode.Catagory));

                foreach (BaseNode child in node.Nodes)
                {
                    if (setErrorFlag(child, accountID, error))
                    {
                        return(true);
                    }
                }
                break;

            case MyNodes.AccountType:
                TypeNode tNode = node as TypeNode;
                tNode.SetError(this.e_isTypeError(tNode.Catagory, tNode.TypeID));

                foreach (BaseNode child in node.Nodes)
                {
                    if (setErrorFlag(child, accountID, error))
                    {
                        return(true);
                    }
                }
                break;

            case MyNodes.Account:
                AccountNode aNode = node as AccountNode;
                if (aNode.AccountID == accountID)
                {
                    aNode.SetError(error);
                    return(true);
                }
                break;
            }
            return(false);
        }