void ReadDocuments ()
		{
			for (int i = 0, len = m_documents.Length; i < len; i++) {
				Document doc = new Document ();
				doc.Language = (Language) Enum (typeof (Language));
				doc.LanguageVendor = (LanguageVendor) Enum (typeof (LanguageVendor));
				doc.DocumentType = (DocumentType) Enum (typeof (DocumentType));
				doc.HashAlgorithm = (HashAlgorithm) Enum (typeof (HashAlgorithm));

				doc.CheckSum = MiscSizePosFuck ();
				doc.Source = MiscSizePosFuck ();
				doc.Url = String ();

				m_documents [i] = doc;
			}
		}
		public virtual void VisitDocument (Document doc)
		{
		}
		public void Remove (Document value)
		{
			m_items.Remove (value);
		}
		public void Insert (int index, Document value)
		{
			m_items.Insert (index, value);
		}
		public int IndexOf (Document value)
		{
			return m_items.IndexOf (value);
		}
		public bool Contains (Document value)
		{
			return m_items.Contains (value);
		}
		public void Add (Document value)
		{
			m_items.Add (value);
		}