class EventCorrelatingSpoutOutputCollector extends SpoutOutputCollector {

    @Override
    public void emitDirect(int taskId, String streamId, List<Object> tuple) {
        StreamlineEvent newEvent = injectCorrelationInformation(tuple);
        delegate.emitDirect(taskId, streamId, new Values(newEvent));
    }

    public  EventCorrelatingSpoutOutputCollector(TopologyContext topologyContext, SpoutOutputCollector delegate);

}