class DefaultLaunchDataWrapper extends LaunchDataWrapper {

    @Override
    public <T> T getLastOperationProgressParam(String paramName, Class<T> objectClass)
    {
        String operationProgressJson = getStringFromFields(HandlerArgument.LAST_PROGRESS_FILE, HandlerField.LAST_PROGRESS);

        if(operationProgressJson == null)
            return null;

        try
        {
            OperationProgress operationProgress = jsonHelper.getObjectFromString(operationProgressJson, OperationProgress.class);
            if(operationProgress == null || operationProgress.getParams() == null || !operationProgress.getParams().containsKey(paramName))
                return null;

            return jsonHelper.getObjectMapper().convertValue(operationProgress.getParams().get(paramName), objectClass);
        }
        catch(JsonHelperException e)
        {
            logger.warn("Unable to read the last progress object. Defaulting to null.", e);
        }
        return null;
    }

    public  DefaultLaunchDataWrapper(String[] args);
    public  DefaultLaunchDataWrapper(ArgumentRetriever argumentRetriever, EnvironmentFieldRetriever environmentRetriever, PropertyRetriever propertyRetriever);
    public  DefaultLaunchDataWrapper(ArgumentRetriever argumentRetriever);

}