code: def get_reservations_by_instance_ids(self, instance_ids, filters=None):
          
          reservations = []
          for reservation in self.all_reservations():
              reservation_instance_ids = [
                  instance.id for instance in reservation.instances]
              matching_reservation = any(
                  instance_id in reservation_instance_ids for instance_id in instance_ids)
              if matching_reservation:
                  reservation.instances = [
                      instance for instance in reservation.instances if instance.id in instance_ids]
                  reservations.append(reservation)
          found_instance_ids = [
              instance.id for reservation in reservations for instance in reservation.instances]
          if len(found_instance_ids) != len(instance_ids):
              invalid_id = list(set(instance_ids).difference(
                  set(found_instance_ids)))[0]
              raise InvalidInstanceIdError(invalid_id)
          if filters is not None:
              reservations = filter_reservations(reservations, filters)
          return reservations
docs: Go through all of the reservations and filter to only return those
          associated with the given instance_ids.