CBCGPAppointment* CBCGPRecurrence::CreateClone (const COleDateTime& dtDate) const
{
	CBCGPAppointment* pApp = NULL;
	
	ASSERT_VALID (m_pAppointment);
	
	if (m_pAppointment != NULL)
	{
		XBCGPRecurrenceException* ecp = NULL;
		if (m_Exceptions.Lookup (dtDate, ecp))
		{
			if (ecp->m_Deleted)
			{
				return NULL;
			}
		}

		pApp = CBCGPAppointment::CreateRecurrenceClone (m_pAppointment, dtDate);

		if (ecp != NULL)
		{
			pApp->SetProperties (ecp->m_Properties);
		}
	}

	return pApp;
}