public override bool Equals(System.Object object_Renamed)
        {
            bool isEqual = false;

            if (base.Equals(object_Renamed) && (object_Renamed is DoAction))
            {
                DoAction doAction = (DoAction)object_Renamed;

                if (equals(doAction.actionList, this.actionList))
                {
                    isEqual = true;
                }
            }

            return(isEqual);
        }
		public override void  doAction(DoAction tag)
		{
			tags.Add(tag);
		}
		public override void  doAction(DoAction tag)
		{
			String[] temp = pool;
			collectActions(tag.actionList);
			pool = temp;
		}
		public virtual void  doAction(DoAction tag)
		{
		}
        public override void doAction(DoAction tag)
		{
			recordActions(tag.actionList);
		}
		private Tag decodeDoAction(int length)
		{
			DoAction t = new DoAction();
			ActionDecoder actionDecoder = new ActionDecoder(r, swd);
			actionDecoder.KeepOffsets = keepOffsets;
			t.actionList = actionDecoder.decode(length);
			return t;
		}