get_occurrence(instance_index)
      :param iterable instance_index: This should be tuple or list of integers which correspond to occurrences.
      :raises TypeError: When instance_index is not an iterable of ints.
      :raises InvalidEventType: When this method is called on an event that is not a RecurringMaster type.

      This will return a list of occurrence events.

      **Examples**::

        master = service.calendar().get_event(id='<event_id>')

        # The following will return the first 20 occurrences in the recurrence.
        # If there are not 20 occurrences, it will only return what it finds.
        occurrences = master.get_occurrence(range(1,21))
        for occurrence in occurrences:
          print occurrence.start

def get_occurrence(self, instance_index):
    """
      get_occurrence(instance_index)
      :param iterable instance_index: This should be tuple or list of integers which correspond to occurrences.
      :raises TypeError: When instance_index is not an iterable of ints.
      :raises InvalidEventType: When this method is called on an event that is not a RecurringMaster type.

      This will return a list of occurrence events.

      **Examples**::

        master = service.calendar().get_event(id='<event_id>')

        # The following will return the first 20 occurrences in the recurrence.
        # If there are not 20 occurrences, it will only return what it finds.
        occurrences = master.get_occurrence(range(1,21))
        for occurrence in occurrences:
          print occurrence.start

    """

    if not all([isinstance(i, int) for i in instance_index]):
      raise TypeError("instance_index must be an interable of type int")

    if self.type != 'RecurringMaster':
      raise InvalidEventType("get_occurrance method can only be called on a 'RecurringMaster' event type")

    body = soap_request.get_occurrence(exchange_id=self._id, instance_index=instance_index, format=u"AllProperties")
    response_xml = self.service.send(body)

    items = response_xml.xpath(u'//m:GetItemResponseMessage/m:Items', namespaces=soap_request.NAMESPACES)
    events = []
    for item in items:
      event = Exchange2010CalendarEvent(service=self.service, xml=deepcopy(item))
      if event.id:
        events.append(event)

    return events