class QuerySensorSchedulerAction implements ISchedulerAction {

    @Override
    public void init(final ISchedulerEntry entry, final IObject args) throws SchedulerActionInitializationException {
        try {
            Object queryExecutorDependency = args.getValue(queryExecutorFieldName);
            IQueryExecutor queryExecutor = IOC.resolve(IOC.resolve(IOC.getKeyForKeyStorage(), queryExecutorDependency));

            queryExecutor.init(entry, args);

            entry.getState().setValue(queryExecutorFieldName, queryExecutorDependency);
            entry.getState().setValue(statisticsChainFieldName, args.getValue(statisticsChainFieldName));
        } catch (ResolutionException | ReadValueException | ChangeValueException | InvalidArgumentException
                | QueryExecutorInitializationException e) {
            throw new SchedulerActionInitializationException("Error occurred initializing query sensor scheduler action.", e);
        }
    }

    public  QuerySensorSchedulerAction();

}