@SuppressWarnings("unchecked")
    @Override
    public void createNewDownload(Object rawDownloadData) throws InvalidRpcDataException {
        this.rawDownloadData = rawDownloadData;

        if (rawDownloadData == null) {
            throw new InvalidRpcDataException("Got null when trying to parse raw Download data");
        }

        if (rawDownloadData instanceof Map<?, ?>) {
            try {
                rawMap = (Map<String, Object>) rawDownloadData;
            } catch (ClassCastException e) {
                throw new InvalidRpcDataException("Got wrong data structure when trying to parse raw Download data", e);
            }
        }

        download = new Download();
    }