@Override
    public OFOxmIcmpv4CodeMasked readFrom(ByteBuf bb) throws OFParseError {
      // fixed value property typeLen == 0x80002902L
      int typeLen = bb.readInt();
      if (typeLen != (int) 0x80002902)
        throw new OFParseError("Wrong typeLen: Expected=0x80002902L(0x80002902L), got=" + typeLen);
      ICMPv4Code value = ICMPv4Code.readByte(bb);
      ICMPv4Code mask = ICMPv4Code.readByte(bb);

      OFOxmIcmpv4CodeMaskedVer12 oxmIcmpv4CodeMaskedVer12 =
          new OFOxmIcmpv4CodeMaskedVer12(value, mask);
      if (logger.isTraceEnabled()) logger.trace("readFrom - read={}", oxmIcmpv4CodeMaskedVer12);
      return oxmIcmpv4CodeMaskedVer12;
    }