public MovieMetaData(Stream swf, Stream swd)
		{
			try
			{
				init();
				TagDecoder p = new TagDecoder(swf, swd);
				parse(p);
			}
			catch (IOException)
			{
			}
		}
		public MovieMetaData(String u)
		{
			try
			{
				init();
				Uri url = new Uri(u);
				Stream in_Renamed = System.Net.WebRequest.Create(url).GetResponse().GetResponseStream();
				TagDecoder p = new TagDecoder(in_Renamed, url);
				parse(p);
			}
			catch (UriFormatException)
			{
			}
			catch (IOException)
			{
			}
		}
		public SwfActionContainer(Stream swfIn, Stream swdIn)
		{
			TagDecoder p = new TagDecoder(swfIn, swdIn);
			try
			{
				process(p);
				errorProcessing = false;
			}
			catch (IOException io)
			{
                if (Trace.error)
                {
                    Console.Error.Write(io.StackTrace);
                    Console.Error.Flush();
                }
			}
		}
		private void  parse(TagDecoder p)
		{
			p.KeepOffsets = true;
			p.parse(this);
			
			SupportClass.CollectionsSupport.Sort(skipOffsets, null);
			className = null;
		}
		/// <summary> Ask a TagDecoder to do its magic, calling us 
		/// upon each encounter of a new tag.
		/// </summary>
		internal virtual void  process(TagDecoder d)
		{
			m_master = new ActionList(true);
			d.KeepOffsets = true;
			d.parse(this);
		}