code: private RuntimeException launderException(final Throwable throwable) {
          if (throwable instanceof RuntimeException) {
              return (RuntimeException) throwable;
          } else if (throwable instanceof Error) {
              throw (Error) throwable;
          } else {
              throw new IllegalStateException("Unchecked exception", throwable);
          }
      }
docs: <p>
  This method launders a Throwable to either a RuntimeException, Error or
  any other Exception wrapped in an IllegalStateException.
  </p>
  
  @param throwable
  the throwable to laundered
  @return a RuntimeException, Error or an IllegalStateException