List<MuleMessage> messages = new LinkedList<MuleMessage>();
int batchSize = getBatchSize(queue.size());
// try to get the first event off the queue
MuleEvent message = (MuleEvent) queue.poll(connector.getQueueTimeout());
if (message != null)
{
// keep first dequeued event
((DefaultMuleMessage)message.getMessage()).setMuleContext(endpoint.getMuleContext());