class Listener4Assist implements ListenerAssist {

    public void fetchProgress(DownloadTask task, int blockIndex, long increaseBytes) {
        final Listener4Model model = modelHandler.getOrRecoverModel(task, task.getInfo());
        if (model == null) return;

        final long blockCurrentOffset = model.blockCurrentOffsetMap
                .get(blockIndex) + increaseBytes;
        model.blockCurrentOffsetMap.put(blockIndex, blockCurrentOffset);
        model.currentOffset += increaseBytes;

        if (assistExtend != null
                && assistExtend.dispatchFetchProgress(task, blockIndex, increaseBytes, model)) {
            return;
        }

        if (callback != null) {
            callback.progressBlock(task, blockIndex, blockCurrentOffset);
            callback.progress(task, model.currentOffset);
        }
    }

      Listener4Assist(ListenerModelHandler<T> handler);
    public  Listener4Assist(ListenerModelHandler.ModelCreator<T> creator);

}