code: @SuppressWarnings("WeakerAccess")
    public static RuntimeException constructRuntimeExceptionWithoutStackTrace(ClassLoaderLeakPreventor preventor,
                                                                          String message, Throwable cause) {
      try {
        final Constructor<RuntimeException> constructor = 
            RuntimeException.class.getDeclaredConstructor(String.class, Throwable.class, Boolean.TYPE, Boolean.TYPE);
        constructor.setAccessible(true);
        return constructor.newInstance(message, cause, true, false /* disable stack trace */);
      }
      catch (Throwable e) { // InstantiationException, IllegalAccessException, InvocationTargetException, NoSuchMethodException
        preventor.warn("Unable to construct RuntimeException without stack trace. The likely reason is that you are using Java <= 1.6. " +
            "No worries, except there might be some leaks you're not protected from (https://github.com/mjiderhamn/classloader-leak-prevention/issues/36 , " +
            "https://github.com/mjiderhamn/classloader-leak-prevention/issues/69). " + 
            "If you are already on Java 1.7+, please report issue to developer of this library!");
        preventor.warn(e);
        return null;
      }
    }
docs: Construct a new {@link RuntimeException} without any stack trace, in order to avoid any references back to this class