docs: public Throwable getCause() {
          try {
              if (!causeInitialized && ivCause != this) {
                  super.initCause(ivCause);
              }
          } catch (Throwable t) {
          } finally {
              causeInitialized = true;
          }
          return super.getCause();
      }