code: @Override
      public String indexValue(String name, Object value) {
          if (value == null) {
              return null;
          } else if (value instanceof ByteBuffer) {
              ByteBuffer bb = (ByteBuffer) value;
              return ByteBufferUtils.toHex(bb);
          } else if (value instanceof byte[]) {
              byte[] bytes = (byte[]) value;
              return ByteBufferUtils.toHex(bytes);
          } else if (value instanceof String) {
              String string = (String) value;
              string = string.replaceFirst("0x", "");
              byte[] bytes = Hex.hexToBytes(string);
              return Hex.bytesToHex(bytes);
          } else {
              throw new IllegalArgumentException(String.format("Value '%s' cannot be cast to byte array", value));
          }
      }
docs: {@inheritDoc}