docs: void teardown(final Map<String, Object> properties) {
          Throwable exceptionToThrow = null;
          final ListIterator<SetupAction> itr = setupActions.listIterator(setupActions.size());
          while (itr.hasPrevious()) {
              final SetupAction action = itr.previous();
              try {
                  action.teardown(properties);
              } catch (Throwable e) {
                  if (exceptionToThrow == null) {
                      exceptionToThrow = e;
                  }
              }
          }
          if (exceptionToThrow != null) {
              throw new RuntimeException(exceptionToThrow);
          }
      }