class MessageProcessor implements ITask, IMessageProcessor, IManagedTask, IShutdownAwareTask {

    @Override
    public void pushEnvironment(final IObject newEnvironment) throws InvalidArgumentException {
        if (null == newEnvironment) {
            throw new InvalidArgumentException("Environment is null.");
        }

        this.currentEnvironment = newEnvironment;
    }

    public  MessageProcessor(final IQueue<ITask> taskQueue, final IMessageProcessingSequence messageProcessingSequence, final IObject config);

}