class ExecutionZeroParamBuilderImpl<T> 
    extends AbstractExecutionBuilder<T>
    implements ExecutionZeroParamBuilder<T> {

    private Consumer<T> executeAction;
    
    public ExecutionZeroParamBuilderImpl(Class<T> component, State state) {
        super(component, state);
    }

    @Override
    public <P0> ExecutionOneParamBuilder<T, P0> withState(
            State state0, Class<P0> param0) {
        
        return new ExecutionOneParamBuilderImpl<>(
            getComponent(), getState(), 
            param0, state0
        );
    }

    @Override
    public ExecutionBuilder<T> withExecute(Consumer<T> executeAction) {
        this.executeAction = requireNonNull(executeAction);
        return this;
    }

    @Override
    public Execution<T> build(DependencyGraph graph) {<FILL_FUNCTION_BODY>}
}

        
        requireNonNull(executeAction, "No execution has been specified.");
        
        return new AbstractExecution<T>(
                getComponent(), getState(), emptySet(),
                MissingArgumentStrategy.THROW_EXCEPTION) {
                    
            @Override
            public boolean invoke(T component, ClassMapper classMapper) {
                executeAction.accept(component);
                return true;
            }
        };
    
<methods><variables>private final non-sealed Class<T> component,private final non-sealed com.speedment.common.injector.State state