code: public String getMessage() {
          Throwable rock = getUndeclaredThrowable();
          if (rock != null) {
              return rock.getMessage();
          }
          else {
              return super.getMessage();
          }
      }
docs: overridden Throwable methods