@Override
 public <F extends OFValueType<F>> Masked<F> getMasked(MatchField<F> field)
     throws UnsupportedOperationException {
   OFOxm<F> value = getOxm(field);
   if (value == null || !value.isMasked()) return null;
   // TODO: If changing OXMs to extend Masked, then use it here
   return Masked.of(value.getValue(), value.getMask());
 }
  @Override
  public boolean isPartiallyMasked(MatchField<?> field) {
    if (!supports(field))
      throw new UnsupportedOperationException(
          "OFMatchV3Ver14 does not support matching on field " + field.getName());

    OFOxm<?> oxm = this.oxmList.get(field);

    return oxm != null && oxm.isMasked();
  }
 @Override
 public boolean isPartiallyMasked(MatchField<?> field) {
   OFOxm<?> value = getOxm(field);
   return (value != null && value.isMasked());
 }
 @Override
 public boolean isExact(MatchField<?> field) {
   OFOxm<?> value = getOxm(field);
   return (value != null && !value.isMasked());
 }