test_class.file: util/src/test/java/com/google/cloud/hadoop/util/RetryBoundedBackOffTest.java
test_class.identifier: RetryBoundedBackOffTest
test_case.body: @Test
    public void stopsAfterAttempts() throws Exception {
      BackOff backoff = new RetryBoundedBackOff(5, new BackOffTester());
      for (int i = 0; i < 5; i++) {
        assertThat(i + 1).isEqualTo(backoff.nextBackOffMillis());
      }
      assertThat(backoff.nextBackOffMillis()).isEqualTo(BackOff.STOP);
      assertThat(backoff.nextBackOffMillis()).isEqualTo(BackOff.STOP);
    }
test_case.class_method_signature: RetryBoundedBackOffTest.stopsAfterAttempts()
test_case.full_signature: @Test public void stopsAfterAttempts()
test_case.identifier: stopsAfterAttempts
test_case.invocations: isEqualTo assertThat nextBackOffMillis isEqualTo assertThat nextBackOffMillis isEqualTo assertThat nextBackOffMillis
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void stopsAfterAttempts()
focal_class.declarator: retriesAttempted = 0
focal_class.modifier: private
focal_class.original_string: private int retriesAttempted = 0;
focal_class.type: int
focal_class.var_name: retriesAttempted
focal_class.declarator: maxRetries
focal_class.modifier: private final
focal_class.original_string: private final int maxRetries;
focal_class.type: int
focal_class.var_name: maxRetries
focal_class.declarator: backoff
focal_class.modifier: private
focal_class.original_string: private BackOff backoff;
focal_class.type: BackOff
focal_class.var_name: backoff
focal_class.file: util/src/main/java/com/google/cloud/hadoop/util/RetryBoundedBackOff.java
focal_class.identifier: RetryBoundedBackOff
focal_class.interfaces: implements BackOff
focal_class.class_method_signature: RetryBoundedBackOff.RetryBoundedBackOff(int maxRetries, BackOff backoff)
focal_class.full_signature: public  RetryBoundedBackOff(int maxRetries, BackOff backoff)
focal_class.identifier: RetryBoundedBackOff
focal_class.modifiers: public
focal_class.parameters: (int maxRetries, BackOff backoff)
focal_class.signature:  RetryBoundedBackOff(int maxRetries, BackOff backoff)
focal_class.class_method_signature: RetryBoundedBackOff.reset()
focal_class.full_signature: @Override public void reset()
focal_class.identifier: reset
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void reset()
focal_class.class_method_signature: RetryBoundedBackOff.nextBackOffMillis()
focal_class.full_signature: @Override public long nextBackOffMillis()
focal_class.identifier: nextBackOffMillis
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: long
focal_class.signature: long nextBackOffMillis()
focal_method.body: @Override
    public long nextBackOffMillis() throws IOException {
      if (retriesAttempted >= maxRetries) {
        return BackOff.STOP;
      }
      long next = backoff.nextBackOffMillis();
      if (next == BackOff.STOP) {
        return BackOff.STOP;
      }
      retriesAttempted++;
      return next;
    }
focal_method.class_method_signature: RetryBoundedBackOff.nextBackOffMillis()
focal_method.full_signature: @Override public long nextBackOffMillis()
focal_method.identifier: nextBackOffMillis
focal_method.invocations: nextBackOffMillis
focal_method.modifiers: @Override public
focal_method.parameters: ()
focal_method.return: long
focal_method.signature: long nextBackOffMillis()