/// <summary>
		/// see <see cref="SwfOp.Data.Tags.BaseTag">base class</see>
		/// </summary>
		public override void UpdateData(byte version) {			
			
			// update inner tags
			int len = 0;
			for (int i=0; i<tagList.Length; i++) {
				BaseTag tag = (BaseTag) tagList[i];
				tag.UpdateData(version);
				len += tag.Data.Length;				
			}				
			
			MemoryStream m = new MemoryStream();
			BinaryWriter w = new BinaryWriter(m);
						
			RecordHeader rh = new RecordHeader(TagCode, len + header.Length ,true);
			
			rh.WriteTo(w);
			w.Write(header);
			for (int i=0; i<tagList.Length; i++) {
				BaseTag tag = (BaseTag) tagList[i];
				w.Write(tag.Data);
			}
			
			// update data
			_data = m.ToArray();
		}