function CommunicationError(httpMessage, response) {
		babelHelpers.classCallCheck(this, CommunicationError);

		var entity = response.entity || response.error || {};
		var state = response.status == 0 ? 'Request' : 'Response';
		var message = entity.message || 'Handling the ' + state + ' for ' + httpMessage.request.method + ' ' + httpMessage.request.path;

		var _this = babelHelpers.possibleConstructorReturn(this, _PersistentError.call(this, message, entity));

		_this.name = entity.className || 'CommunicationError';
		_this.reason = entity.reason || 'Communication failed';
		_this.status = response.status;

		if (entity.data) _this.data = entity.data;

		var cause = entity;
		while (cause && cause.stackTrace) {
			_this.stack += '\nServerside Caused by: ' + cause.className + ' ' + cause.message;

			var stackTrace = cause.stackTrace;
			for (var i = 0; i < stackTrace.length; ++i) {
				var el = stackTrace[i];

				_this.stack += '\n    at ' + el.className + '.' + el.methodName;
				_this.stack += ' (' + el.fileName + ':' + el.lineNumber + ')';
			}

			cause = cause.cause;
		}
		return _this;
	}
/**
  * @param {connector.Message} httpMessage The http message which was send
  * @param {Object} response The received entity headers and content
   */
@param {connector.Message} httpMessage The http message which was send
@param {Object} response The received entity headers and content
@param { connector . Message } httpMessage The http message which was send @param { Object } response The received entity headers and content
function CommunicationError(httpMessage, response) {
		babelHelpers.classCallCheck(this, CommunicationError);
		var entity = response.entity || response.error || {};
		var state = response.status == 0 ? 'Request' : 'Response';
		var message = entity.message || 'Handling the ' + state + ' for ' + httpMessage.request.method + ' ' + httpMessage.request.path;
		var _this = babelHelpers.possibleConstructorReturn(this, _PersistentError.call(this, message, entity));
		_this.name = entity.className || 'CommunicationError';
		_this.reason = entity.reason || 'Communication failed';
		_this.status = response.status;
		if (entity.data) _this.data = entity.data;
		var cause = entity;
		while (cause && cause.stackTrace) {
			_this.stack += '\nServerside Caused by: ' + cause.className + ' ' + cause.message;
			var stackTrace = cause.stackTrace;
			for (var i = 0; i < stackTrace.length; ++i) {
				var el = stackTrace[i];
				_this.stack += '\n    at ' + el.className + '.' + el.methodName;
				_this.stack += ' (' + el.fileName + ':' + el.lineNumber + ')';
			}
			cause = cause.cause;
		}
		return _this;
	}
function CommunicationError ( httpMessage , response ) { babelHelpers . classCallCheck ( this , CommunicationError ) ; var entity = response . entity || response . error || { } ; var state = response . status == 0 ? 'Request' : 'Response' ; var message = entity . message || 'Handling the ' + state + ' for ' + httpMessage . request . method + ' ' + httpMessage . request . path ; var _this = babelHelpers . possibleConstructorReturn ( this , _PersistentError . call ( this , message , entity ) ) ; _this . name = entity . className || 'CommunicationError' ; _this . reason = entity . reason || 'Communication failed' ; _this . status = response . status ; if ( entity . data ) _this . data = entity . data ; var cause = entity ; while ( cause && cause . stackTrace ) { _this . stack += '\nServerside Caused by: ' + cause . className + ' ' + cause . message ; var stackTrace = cause . stackTrace ; for ( var i = 0 ; i < stackTrace . length ; ++ i ) { var el = stackTrace [ i ] ; _this . stack += '\n    at ' + el . className + '.' + el . methodName ; _this . stack += ' (' + el . fileName + ':' + el . lineNumber + ')' ; } cause = cause . cause ; } return _this ; }
@param {connector.Message} httpMessage The http message which was send
 @param {Object} response The received entity headers and content
@param { connector . Message } httpMessage The http message which was send @param { Object } response The received entity headers and content