@Override public boolean canBeApplied(IMraLogGroup source) { IMraLog log = source.getLog("SonarData"); if (log == null) return false; IMCMessage first = log.firstLogEntry(); IMCMessage msg = first; while (msg != null) { // Wait 2 seconds for the first valid multibeam SonarData message //FIXME if (msg.getTimestampMillis() > first.getTimestampMillis() + 2000) break; if (msg.getLong("type") == SonarData.TYPE.MULTIBEAM.value()) { return true; } msg = log.nextLogEntry(); } return false; }