Retriers { @InternalSdk public static void tryResetStreamForRetry(InputStream body) { if (body.markSupported()) { LOG.debug("mark/reset is supported, resetting stream {}", body.getClass().getName()); try { body.reset(); } catch (IOException ioe) { throw new RuntimeException("Failed to reset stream for next retry"); } } else { LOG.warn( "Stream {} does not support mark/reset, retries will not work", body.getClass().getName()); } }  static void setDefaultRetryConfiguration(
            @NonNull final RetryConfiguration retryConfiguration); static void shouldSendOpcRetryToken(boolean shouldSendOpcRetryToken); static boolean shouldSendOpcRetryToken(); static BmcGenericRetrier createPreferredRetrier(
            @Nullable final RetryConfiguration requestRetryConfiguration,
            @Nullable final RetryConfiguration clientRetryConfiguration); @InternalSdk static void tryResetStreamForRetry(InputStream body); @InternalSdk static T wrapBodyInputStreamIfNecessary(
            T request, BmcRequest.Builder<T, InputStream> builder);  }
@Test public void testTryResetStreamForRetry_CanReset() throws IOException { when(is.markSupported()).thenReturn(true); Retriers.tryResetStreamForRetry(is); verify(is).markSupported(); verify(is).reset(); verifyNoMoreInteractions(is); }