@Override
  public void execute(ComputationStep.Context context) {
    PostMeasuresComputationCheck.Context extensionContext = new ContextImpl();
    for (PostMeasuresComputationCheck extension : extensions) {
      extension.onCheck(extensionContext);
    }
  }
@Test
  public void fail_if_an_extension_throws_an_exception() {
    PostMeasuresComputationCheck check1 = mock(PostMeasuresComputationCheck.class);
    PostMeasuresComputationCheck check2 = mock(PostMeasuresComputationCheck.class);
    doThrow(new IllegalStateException("BOOM")).when(check2).onCheck(any(Context.class));
    PostMeasuresComputationCheck check3 = mock(PostMeasuresComputationCheck.class);

    try {
      newStep(check1, check2, check3).execute(new TestComputationStepContext());
      fail();
    } catch (IllegalStateException e) {
      assertThat(e).hasMessage("BOOM");
      verify(check1).onCheck(any(Context.class));
      verify(check3, never()).onCheck(any(Context.class));
    }
  }