src/utilities/Exception.js
function Exception(attributes, cause) {
    this.stack = Error().stack;
    if (this.stack) this.stack = 'Exception' + this.stack.slice(5);  // replace 'Error' with 'Exception'
    this.attributes = this.convert(attributes);
    this.message = this.attributes.getValue('$text').getValue();
    this.cause = cause;
    return this;
}
function Exception(attributes, cause) {
    this.stack = Error().stack;
    if (this.stack) this.stack = 'Exception' + this.stack.slice(5);  // replace 'Error' with 'Exception'
    this.attributes = this.convert(attributes);
    this.message = this.attributes.getValue('$text').getValue();
    this.cause = cause;
    return this;
}
function Exception ( attributes , cause ) { this . stack = Error ( ) . stack ; if ( this . stack ) this . stack = 'Exception' + this . stack . slice ( 5 ) ; // replace 'Error' with 'Exception' this . attributes = this . convert ( attributes ) ; this . message = this . attributes . getValue ( '$text' ) . getValue ( ) ; this . cause = cause ; return this ; }
PUBLIC CONSTRUCTORS 
This constructor creates a new Bali exception with the specified attributes.

@constructor
@param {Object} attributes An object containing the exception attributes.
@param {Object} cause An optional exception that caused this one.
@returns {Exception} The new exception.
PUBLIC CONSTRUCTORS This constructor creates a new Bali exception with the specified attributes .