@Override public void addAlertListener(final AlertListener alertListener) throws BCSAPIException { try { addTopicListener( "alert", alertListener, bytes -> { BCSAPIMessage.Alert alert = null; try { alert = BCSAPIMessage.Alert.parseFrom(bytes); } catch (InvalidProtocolBufferException e) { log.error("Alert message format error", e); } return alert; }, alert -> { if (alert != null) alertListener.alert(alert.getAlert(), alert.getSeverity()); }); } catch (ConnectorException e) { throw new BCSAPIException(e); } }