docs: protected Statement methodBlock(final FrameworkMethod method) {
          Object test;
          try {
              test = new ReflectiveCallable() {
                  @Override
                  protected Object runReflectiveCall() throws Throwable {
                      return createTest(method);
                  }
              }.run();
          } catch (Throwable e) {
              return new Fail(e);
          }
  
          Statement statement = methodInvoker(method, test);
          statement = possiblyExpectingExceptions(method, test, statement);
          statement = withPotentialTimeout(method, test, statement);
          statement = withBefores(method, test, statement);
          statement = withAfters(method, test, statement);
          statement = withRules(method, test, statement);
          statement = withInterruptIsolation(statement);
          return statement;
      }