private boolean isExceptionInSetUpOrTearDown(final Throwable e) {
        // Trace back the exception stack to determine whether the exception was thrown during the
        // setUp or tearDown phase.
        for (final StackTraceElement stackTraceElement : e.getStackTrace()) {
          if (setUpMethodName.equals(stackTraceElement.getMethodName())
              && description.getClassName().equals(stackTraceElement.getClassName())
              && isMethodAnnotationWithBefore(stackTraceElement.getMethodName())) {
            e.printStackTrace();
            return true;
          }

          if (tearDownMethodName.equals(stackTraceElement.getMethodName())
              && description.getClassName().equals(stackTraceElement.getClassName())
              && isMethodAnnotationWithAfter(stackTraceElement.getMethodName())) {
            e.printStackTrace();
            return true;
          }
        }
        return false;
      }
@param setUpMethodName Should be exactly the same as the method name decorated with @Before.
@param tearDownMethodName Should be exactly the same as the method name decorated with @After.
integration-test/src/test/java/org/apache/iotdb/subscription/it/SkipOnSetUpAndTearDownFailure.java