class DownloadChain implements Runnable {

    public synchronized void releaseConnection() {
        if (connection != null) {
            connection.release();
            Util.d(TAG, "release connection " + connection + " task[" + task.getId()
                    + "] block[" + blockIndex + "]");
        }
        connection = null;
    }

    private  DownloadChain(int blockIndex, @NonNull DownloadTask task, @NonNull BreakpointInfo info,
                          @NonNull DownloadCache cache, @NonNull DownloadStore store);

}