protected String buildStreamRules(Stream stream) {
   StringBuilder sb = new StringBuilder();
   for (StreamRule streamRule : stream.getStreamRules()) {
     sb.append("_").append(streamRule.getField()).append("_ ");
     sb.append(streamRule.getType())
         .append(" _")
         .append(streamRule.getValue())
         .append("_")
         .append("\n");
   }
   return sb.toString();
 }
  @Override
  public boolean match(Message msg, StreamRule rule) {
    Double msgVal = getDouble(msg.getField(rule.getField()));
    if (msgVal == null) {
      return false;
    }

    Double ruleVal = getDouble(rule.getValue());
    if (ruleVal == null) {
      return false;
    }

    return rule.getInverted() ^ (msgVal > ruleVal);
  }