code: public double str_op(BufferedString l, BufferedString r) {
      if (StringUtils.isNullOrEmpty(l))
        return StringUtils.isNullOrEmpty(r) ? 0 : 1;
      else
        return l.equals(r) ? 0 : 1;
    }
docs: Make sense to run this OP on an enm?