private AlarmInfo toAlarmInfo(Alarm alarm) { AlarmLevel alarmLevel = alarm.getAlarmLevel(); Throwable cause = alarm.getCause(); String[] causeStringArray = null; if(cause != null) { Writer writer = new StringWriter(); PrintWriter printWriter = new PrintWriter(writer); cause.printStackTrace(printWriter); causeStringArray = writer.toString().split("\n"); } return new AlarmInfo(alarm.getAlarmID(), toTimestamp(alarm.getTimestamp()), (alarmLevel != null ? alarmLevel.toString() : null), alarm.getAlarmType(), alarm.getInstanceID(), cause, causeStringArray, alarm.getMessage()); }