public void Initialise(MSOutlook.MailItem mailItem, bool useCache)
		{
			if (null == mailItem)
				throw new ArgumentNullException("mailItem");

			if (null == mailItem)
				throw new ArgumentNullException("outlookMail");

			m_outlookRecipientTableProxy = new OutlookRecipientTableProxy(mailItem, useCache);

			m_outlookToRecipientsProxy = new OutlookRecipientsCollection(m_outlookRecipientTableProxy, OutlookRecipientTypes.ToRecipient);
			m_outlookCcRecipientsProxy = new OutlookRecipientsCollection(m_outlookRecipientTableProxy, OutlookRecipientTypes.CcRecipient);
			m_outlookBccRecipientsProxy = new OutlookRecipientsCollection(m_outlookRecipientTableProxy, OutlookRecipientTypes.BccRecipient);
		}
		private void Dispose(bool disposing)
		{
			if (m_disposed)
				return;

			m_disposed = true;

			if (disposing)
			{
			}

			if (m_outlookToRecipientsProxy != null)
			{
				m_outlookToRecipientsProxy.Dispose();
				m_outlookToRecipientsProxy = null;
			}
			if (m_outlookCcRecipientsProxy != null)
			{
				m_outlookCcRecipientsProxy.Dispose();
				m_outlookCcRecipientsProxy = null;
			}
			if (m_outlookBccRecipientsProxy != null)
			{
				m_outlookBccRecipientsProxy.Dispose();
				m_outlookBccRecipientsProxy = null;
			}
			if (m_outlookRecipientTableProxy != null)
			{
				m_outlookRecipientTableProxy.Dispose();
				m_outlookRecipientTableProxy = null;
			}

		}