@Override
    public void sendEvent(Event event, String[] transportSyncProperties) throws InterruptedException {
        S state = stateHolder.getState();
        try {
            sendEvent(event, transportSyncProperties, state, inputHandler);
        } finally {
            stateHolder.returnState(state);
        }
    }
SourceHandler is an optional implementable class that wraps {@link InputHandler}.
It will do optional processing to the events before sending the events to the input handler

@param <S> current state for the Source Holder
modules/siddhi-core/src/main/java/io/siddhi/core/stream/input/source/SourceHandler.java