@Override
    public void receive(List<Event> events) {
        StreamEvent firstEvent = null;
        StreamEvent currentEvent = null;
        for (Event event : events) {
            StreamEvent nextEvent = streamEventFactory.newInstance();
            streamEventConverter.convertEvent(event, nextEvent);
            if (firstEvent == null) {
                firstEvent = nextEvent;
            } else {
                currentEvent.setNext(nextEvent);
            }
            currentEvent = nextEvent;

        }
        if (siddhiDebugger != null) {
            siddhiDebugger.checkBreakPoint(siddhiQueryContext.getName(), SiddhiDebugger.QueryTerminal.IN, firstEvent);
        }
        process(new ComplexEventChunk<StreamEvent>(firstEvent, currentEvent));
    }
Parent implementation for all process stream receivers(Multi/Single/State). Any newly written process stream
receivers should extend this. ProcessStreamReceivers are the entry point to Siddhi queries.
modules/siddhi-core/src/main/java/io/siddhi/core/query/input/ProcessStreamReceiver.java