@@ -0,0 +1,2422 @@
+package net.kencochrane.raven.event.interfaces;%0A%0A/**%0A * Class associating an exception to its %7B@link net.kencochrane.raven.event.interfaces.StackTraceInterface%7D.%0A */%0Apublic final class ExceptionWithStackTrace %7B%0A%0A    private static final String DEFAULT_PACKAGE_NAME = %22(default)%22;%0A%0A    private final String exceptionMessage;%0A    private final String exceptionClassName;%0A    private final String exceptionPackageName;%0A    private final StackTraceInterface stackTraceInterface;%0A%0A    /**%0A     * Creates a new instance from the given exceptions data.%0A     *%0A     * @param exceptionMessage the message of the exception%0A     * @param exceptionClassName the exception's class name%0A     * @param exceptionPackageName the exception's package name%0A     * @param stackTraceInterface the stack trace interface holding the stack trace information of the exception%0A     */%0A    public ExceptionWithStackTrace(%0A            final String exceptionMessage,%0A            final String exceptionClassName,%0A            final String exceptionPackageName,%0A            final StackTraceInterface stackTraceInterface) %7B%0A%0A        this.exceptionMessage = exceptionMessage;%0A        this.exceptionClassName = exceptionClassName;%0A        this.exceptionPackageName = exceptionPackageName;%0A        this.stackTraceInterface = stackTraceInterface;%0A    %7D%0A%0A    /**%0A     * Gets the exception message.%0A     *%0A     * @return the exception message%0A     */%0A    public String getExceptionMessage() %7B%0A        return exceptionMessage;%0A    %7D%0A%0A    /**%0A     * Gets the exception's class name.%0A     *%0A     * @return the exception's class name%0A     */%0A    public String getExceptionClassName() %7B%0A        return exceptionClassName;%0A    %7D%0A%0A    /**%0A     * Gets the exception's package name.%0A     *%0A     * @return the exception's package name%0A     */%0A    public String getExceptionPackageName() %7B%0A%0A        if (exceptionPackageName == null) %7B%0A            return DEFAULT_PACKAGE_NAME;%0A        %7D%0A%0A        return exceptionPackageName;%0A    %7D%0A%0A    /**%0A     * Gets the exceptions stack trace interface.%0A     *%0A     * @return the exceptions stack trace interface%0A     */%0A    public StackTraceInterface getStackTraceInterface() %7B%0A        return stackTraceInterface;%0A    %7D%0A%0A    /**%0A     * Gets the exception's stack trace.%0A     *%0A     * @return the exception's stack trace%0A     */%0A    public StackTraceElement%5B%5D getStackTrace() %7B%0A        return stackTraceInterface.getStackTrace();%0A    %7D%0A%7D%0A

Add an ExceptionWithStackTrace class to represent throwables