### Question:
StoreReader { static void verifyCanContinueOnException(DocumentClientException ex) throws DocumentClientException { if (ex instanceof PartitionKeyRangeGoneException) { throw ex; } if (ex instanceof PartitionKeyRangeIsSplittingException) { throw ex; } if (ex instanceof PartitionIsMigratingException) { throw ex; } String value = ex.getResponseHeaders().get(HttpConstants.HttpHeaders.REQUEST_VALIDATION_FAILURE); if (Strings.isNullOrWhiteSpace(value)) { return; } Integer result = Integers.tryParse(value); if (result != null && result == 1) { throw ex; } return; } StoreReader(
            TransportClient transportClient,
            AddressSelector addressSelector,
            ISessionContainer sessionContainer); Single<List<StoreResult>> readMultipleReplicaAsync(
            RxDocumentServiceRequest entity,
            boolean includePrimary,
            int replicaCountToRead,
            boolean requiresValidLsn,
            boolean useSessionToken,
            ReadMode readMode); Single<List<StoreResult>> readMultipleReplicaAsync(
            RxDocumentServiceRequest entity,
            boolean includePrimary,
            int replicaCountToRead,
            boolean requiresValidLsn,
            boolean useSessionToken,
            ReadMode readMode,
            boolean checkMinLSN,
            boolean forceReadAll); Single<StoreResult> readPrimaryAsync(
            RxDocumentServiceRequest entity,
            boolean requiresValidLsn,
            boolean useSessionToken);  }### Answer:
@Test(groups = "unit", dataProvider = "verifyCanContinueOnExceptionArgProvider") public void verifyCanContinueOnException(DocumentClientException dce, Boolean shouldVerify) { DocumentClientException capturedFailure = null; try { StoreReader.verifyCanContinueOnException(dce); } catch (DocumentClientException e) { capturedFailure = e; } if (shouldVerify) { assertThat(capturedFailure).isNull(); } else { assertThat(capturedFailure).isEqualTo(dce); } }