class DelegateExecutionImpl implements BuildingBlockExecution, Serializable {

    @Override
    public <T> T getRequiredVariable(final String key) throws RequiredExecutionVariableExeception {
        final T result;

        result = this.get(key);
        if (result == null) {
            throw new RequiredExecutionVariableExeception(String.format(INVALID_INPUT_MISSING, key));

        }
        return result;
    }

    public  DelegateExecutionImpl(final Map<String, Serializable> seedMap);
    public  DelegateExecutionImpl(final DelegateExecution execution);

}