class BreakpointLocalCheck {

    @NonNull public ResumeFailedCause getCauseOrThrow() {
        if (!infoRight) {
            return INFO_DIRTY;
        } else if (!fileExist) {
            return FILE_NOT_EXIST;
        } else if (!outputStreamSupport) {
            return OUTPUT_STREAM_NOT_SUPPORT;
        }

        throw new IllegalStateException("No cause find with dirty: " + dirty);
    }

    public  BreakpointLocalCheck(@NonNull DownloadTask task, @NonNull BreakpointInfo info,
                                long responseInstanceLength);

}