public final Throwable wrapException(Throwable ex) {
      return ex == null || !recursion.add(ex) || recursion.size() >= ALLOWED_EXCEPTIONS_RECURSION_DEPTH ? null : wrapExceptionStep(ex);
    }
public final Throwable wrapException(Throwable ex)