// Copyright (c) 2008 The Board of Trustees of The Leland Stanford Junior University
// Copyright (c) 2011, 2012 Open Networking Foundation
// Copyright (c) 2012, 2013 Big Switch Networks, Inc.
// This library was generated by the LoxiGen Compiler.
// See the file LICENSE.txt which should have been included in the source distribution

// Automatically generated by LOXI from template of_factory_class.java
// Do not modify

package org.projectfloodlight.openflow.protocol.ver12;

import org.projectfloodlight.openflow.protocol.*;
import org.projectfloodlight.openflow.protocol.action.*;
import org.projectfloodlight.openflow.protocol.actionid.*;
import org.projectfloodlight.openflow.protocol.bsntlv.*;
import org.projectfloodlight.openflow.protocol.errormsg.*;
import org.projectfloodlight.openflow.protocol.meterband.*;
import org.projectfloodlight.openflow.protocol.instruction.*;
import org.projectfloodlight.openflow.protocol.instructionid.*;
import org.projectfloodlight.openflow.protocol.match.*;
import org.projectfloodlight.openflow.protocol.oxm.*;
import org.projectfloodlight.openflow.protocol.queueprop.*;
import org.projectfloodlight.openflow.types.*;
import org.projectfloodlight.openflow.util.*;
import org.projectfloodlight.openflow.exceptions.*;
import java.util.Set;
import java.util.List;
import org.projectfloodlight.openflow.protocol.OFOxmList;


public class OFFactoryVer12 implements OFFactory {
    public final static OFFactoryVer12 INSTANCE = new OFFactoryVer12();

    private final XidGenerator xidGenerator = XidGenerators.global();

    public OFActions actions() {
        return OFActionsVer12.INSTANCE;
    }
    public OFInstructions instructions() {
        return OFInstructionsVer12.INSTANCE;
    }
    public OFMeterBands meterBands() {
        return OFMeterBandsVer12.INSTANCE;
    }
    public OFOxms oxms() {
        return OFOxmsVer12.INSTANCE;
    }
    public OFQueueProps queueProps() {
        return OFQueuePropsVer12.INSTANCE;
    }
    public OFErrorMsgs errorMsgs() {
        return OFErrorMsgsVer12.INSTANCE;
    }
    public OFActionIds actionIds() {
        return OFActionIdsVer12.INSTANCE;
    }
    public OFInstructionIds instructionIds() {
        return OFInstructionIdsVer12.INSTANCE;
    }
    public OFBsnTlvs bsnTlvs() {
        return OFBsnTlvsVer12.INSTANCE;
    }


    public OFAggregateStatsReply.Builder buildAggregateStatsReply() {
        return new OFAggregateStatsReplyVer12.Builder().setXid(nextXid());
    }

    public OFAggregateStatsRequest.Builder buildAggregateStatsRequest() {
        return new OFAggregateStatsRequestVer12.Builder().setXid(nextXid());
    }

    public OFBarrierReply.Builder buildBarrierReply() {
        return new OFBarrierReplyVer12.Builder().setXid(nextXid());
    }
    public OFBarrierReply barrierReply() {
        return new OFBarrierReplyVer12(
                nextXid()
                    );
    }

    public OFBarrierRequest.Builder buildBarrierRequest() {
        return new OFBarrierRequestVer12.Builder().setXid(nextXid());
    }
    public OFBarrierRequest barrierRequest() {
        return new OFBarrierRequestVer12(
                nextXid()
                    );
    }

    public OFBsnBwClearDataReply.Builder buildBsnBwClearDataReply() {
        return new OFBsnBwClearDataReplyVer12.Builder().setXid(nextXid());
    }
    public OFBsnBwClearDataReply bsnBwClearDataReply(long status) {
        return new OFBsnBwClearDataReplyVer12(
                nextXid(),
                      status
                    );
    }

    public OFBsnBwClearDataRequest.Builder buildBsnBwClearDataRequest() {
        return new OFBsnBwClearDataRequestVer12.Builder().setXid(nextXid());
    }
    public OFBsnBwClearDataRequest bsnBwClearDataRequest() {
        return new OFBsnBwClearDataRequestVer12(
                nextXid()
                    );
    }

    public OFBsnBwEnableGetReply.Builder buildBsnBwEnableGetReply() {
        return new OFBsnBwEnableGetReplyVer12.Builder().setXid(nextXid());
    }
    public OFBsnBwEnableGetReply bsnBwEnableGetReply(long enabled) {
        return new OFBsnBwEnableGetReplyVer12(
                nextXid(),
                      enabled
                    );
    }

    public OFBsnBwEnableGetRequest.Builder buildBsnBwEnableGetRequest() {
        return new OFBsnBwEnableGetRequestVer12.Builder().setXid(nextXid());
    }
    public OFBsnBwEnableGetRequest bsnBwEnableGetRequest() {
        return new OFBsnBwEnableGetRequestVer12(
                nextXid()
                    );
    }

    public OFBsnBwEnableSetReply.Builder buildBsnBwEnableSetReply() {
        return new OFBsnBwEnableSetReplyVer12.Builder().setXid(nextXid());
    }

    public OFBsnBwEnableSetRequest.Builder buildBsnBwEnableSetRequest() {
        return new OFBsnBwEnableSetRequestVer12.Builder().setXid(nextXid());
    }
    public OFBsnBwEnableSetRequest bsnBwEnableSetRequest(long enable) {
        return new OFBsnBwEnableSetRequestVer12(
                nextXid(),
                      enable
                    );
    }

    public OFBsnGetInterfacesReply.Builder buildBsnGetInterfacesReply() {
        return new OFBsnGetInterfacesReplyVer12.Builder().setXid(nextXid());
    }
    public OFBsnGetInterfacesReply bsnGetInterfacesReply(List<OFBsnInterface> interfaces) {
        return new OFBsnGetInterfacesReplyVer12(
                nextXid(),
                      interfaces
                    );
    }

    public OFBsnGetInterfacesRequest.Builder buildBsnGetInterfacesRequest() {
        return new OFBsnGetInterfacesRequestVer12.Builder().setXid(nextXid());
    }
    public OFBsnGetInterfacesRequest bsnGetInterfacesRequest() {
        return new OFBsnGetInterfacesRequestVer12(
                nextXid()
                    );
    }

    public OFBsnGetIpMaskReply.Builder buildBsnGetIpMaskReply() {
        throw new UnsupportedOperationException("OFBsnGetIpMaskReply not supported in version 1.2");
    }

    public OFBsnGetIpMaskRequest.Builder buildBsnGetIpMaskRequest() {
        throw new UnsupportedOperationException("OFBsnGetIpMaskRequest not supported in version 1.2");
    }
    public OFBsnGetIpMaskRequest bsnGetIpMaskRequest(short index) {
        throw new UnsupportedOperationException("OFBsnGetIpMaskRequest not supported in version 1.2");
    }

    public OFBsnGetL2TableReply.Builder buildBsnGetL2TableReply() {
        throw new UnsupportedOperationException("OFBsnGetL2TableReply not supported in version 1.2");
    }

    public OFBsnGetL2TableRequest.Builder buildBsnGetL2TableRequest() {
        throw new UnsupportedOperationException("OFBsnGetL2TableRequest not supported in version 1.2");
    }
    public OFBsnGetL2TableRequest bsnGetL2TableRequest() {
        throw new UnsupportedOperationException("OFBsnGetL2TableRequest not supported in version 1.2");
    }

    public OFBsnGetMirroringReply.Builder buildBsnGetMirroringReply() {
        return new OFBsnGetMirroringReplyVer12.Builder().setXid(nextXid());
    }
    public OFBsnGetMirroringReply bsnGetMirroringReply(short reportMirrorPorts) {
        return new OFBsnGetMirroringReplyVer12(
                nextXid(),
                      reportMirrorPorts
                    );
    }

    public OFBsnGetMirroringRequest.Builder buildBsnGetMirroringRequest() {
        return new OFBsnGetMirroringRequestVer12.Builder().setXid(nextXid());
    }
    public OFBsnGetMirroringRequest bsnGetMirroringRequest(short reportMirrorPorts) {
        return new OFBsnGetMirroringRequestVer12(
                nextXid(),
                      reportMirrorPorts
                    );
    }

    public OFBsnHybridGetReply.Builder buildBsnHybridGetReply() {
        throw new UnsupportedOperationException("OFBsnHybridGetReply not supported in version 1.2");
    }

    public OFBsnHybridGetRequest.Builder buildBsnHybridGetRequest() {
        throw new UnsupportedOperationException("OFBsnHybridGetRequest not supported in version 1.2");
    }
    public OFBsnHybridGetRequest bsnHybridGetRequest() {
        throw new UnsupportedOperationException("OFBsnHybridGetRequest not supported in version 1.2");
    }

    public OFBsnInterface.Builder buildBsnInterface() {
        return new OFBsnInterfaceVer12.Builder();
    }

    public OFBsnPduRxReply.Builder buildBsnPduRxReply() {
        return new OFBsnPduRxReplyVer12.Builder().setXid(nextXid());
    }

    public OFBsnPduRxRequest.Builder buildBsnPduRxRequest() {
        return new OFBsnPduRxRequestVer12.Builder().setXid(nextXid());
    }

    public OFBsnPduRxTimeout.Builder buildBsnPduRxTimeout() {
        return new OFBsnPduRxTimeoutVer12.Builder().setXid(nextXid());
    }

    public OFBsnPduTxReply.Builder buildBsnPduTxReply() {
        return new OFBsnPduTxReplyVer12.Builder().setXid(nextXid());
    }

    public OFBsnPduTxRequest.Builder buildBsnPduTxRequest() {
        return new OFBsnPduTxRequestVer12.Builder().setXid(nextXid());
    }

    public OFBsnSetIpMask.Builder buildBsnSetIpMask() {
        throw new UnsupportedOperationException("OFBsnSetIpMask not supported in version 1.2");
    }

    public OFBsnSetL2TableReply.Builder buildBsnSetL2TableReply() {
        throw new UnsupportedOperationException("OFBsnSetL2TableReply not supported in version 1.2");
    }

    public OFBsnSetL2TableRequest.Builder buildBsnSetL2TableRequest() {
        throw new UnsupportedOperationException("OFBsnSetL2TableRequest not supported in version 1.2");
    }

    public OFBsnSetMirroring.Builder buildBsnSetMirroring() {
        return new OFBsnSetMirroringVer12.Builder().setXid(nextXid());
    }
    public OFBsnSetMirroring bsnSetMirroring(short reportMirrorPorts) {
        return new OFBsnSetMirroringVer12(
                nextXid(),
                      reportMirrorPorts
                    );
    }

    public OFBsnSetPktinSuppressionReply.Builder buildBsnSetPktinSuppressionReply() {
        return new OFBsnSetPktinSuppressionReplyVer12.Builder().setXid(nextXid());
    }
    public OFBsnSetPktinSuppressionReply bsnSetPktinSuppressionReply(long status) {
        return new OFBsnSetPktinSuppressionReplyVer12(
                nextXid(),
                      status
                    );
    }

    public OFBsnSetPktinSuppressionRequest.Builder buildBsnSetPktinSuppressionRequest() {
        return new OFBsnSetPktinSuppressionRequestVer12.Builder().setXid(nextXid());
    }

    public OFBsnShellCommand.Builder buildBsnShellCommand() {
        throw new UnsupportedOperationException("OFBsnShellCommand not supported in version 1.2");
    }

    public OFBsnShellOutput.Builder buildBsnShellOutput() {
        throw new UnsupportedOperationException("OFBsnShellOutput not supported in version 1.2");
    }
    public OFBsnShellOutput bsnShellOutput(byte[] data) {
        throw new UnsupportedOperationException("OFBsnShellOutput not supported in version 1.2");
    }

    public OFBsnShellStatus.Builder buildBsnShellStatus() {
        throw new UnsupportedOperationException("OFBsnShellStatus not supported in version 1.2");
    }
    public OFBsnShellStatus bsnShellStatus(long status) {
        throw new UnsupportedOperationException("OFBsnShellStatus not supported in version 1.2");
    }

    public OFBsnVirtualPortCreateReply.Builder buildBsnVirtualPortCreateReply() {
        return new OFBsnVirtualPortCreateReplyVer12.Builder().setXid(nextXid());
    }

    public OFBsnVportQInQ.Builder buildBsnVportQInQ() {
        return new OFBsnVportQInQVer12.Builder();
    }

    public OFBsnVirtualPortCreateRequest.Builder buildBsnVirtualPortCreateRequest() {
        return new OFBsnVirtualPortCreateRequestVer12.Builder().setXid(nextXid());
    }
    public OFBsnVirtualPortCreateRequest bsnVirtualPortCreateRequest(OFBsnVportQInQ vport) {
        return new OFBsnVirtualPortCreateRequestVer12(
                nextXid(),
                      vport
                    );
    }

    public OFBsnVirtualPortRemoveReply.Builder buildBsnVirtualPortRemoveReply() {
        return new OFBsnVirtualPortRemoveReplyVer12.Builder().setXid(nextXid());
    }
    public OFBsnVirtualPortRemoveReply bsnVirtualPortRemoveReply(long status) {
        return new OFBsnVirtualPortRemoveReplyVer12(
                nextXid(),
                      status
                    );
    }

    public OFBsnVirtualPortRemoveRequest.Builder buildBsnVirtualPortRemoveRequest() {
        return new OFBsnVirtualPortRemoveRequestVer12.Builder().setXid(nextXid());
    }
    public OFBsnVirtualPortRemoveRequest bsnVirtualPortRemoveRequest(long vportNo) {
        return new OFBsnVirtualPortRemoveRequestVer12(
                nextXid(),
                      vportNo
                    );
    }

    public OFDescStatsReply.Builder buildDescStatsReply() {
        return new OFDescStatsReplyVer12.Builder().setXid(nextXid());
    }

    public OFDescStatsRequest.Builder buildDescStatsRequest() {
        return new OFDescStatsRequestVer12.Builder().setXid(nextXid());
    }
    public OFDescStatsRequest descStatsRequest(Set<OFStatsRequestFlags> flags) {
        return new OFDescStatsRequestVer12(
                nextXid(),
                      flags
                    );
    }

    public OFEchoReply.Builder buildEchoReply() {
        return new OFEchoReplyVer12.Builder().setXid(nextXid());
    }
    public OFEchoReply echoReply(byte[] data) {
        return new OFEchoReplyVer12(
                nextXid(),
                      data
                    );
    }

    public OFEchoRequest.Builder buildEchoRequest() {
        return new OFEchoRequestVer12.Builder().setXid(nextXid());
    }
    public OFEchoRequest echoRequest(byte[] data) {
        return new OFEchoRequestVer12(
                nextXid(),
                      data
                    );
    }

    public OFFeaturesReply.Builder buildFeaturesReply() {
        return new OFFeaturesReplyVer12.Builder().setXid(nextXid());
    }

    public OFFeaturesRequest.Builder buildFeaturesRequest() {
        return new OFFeaturesRequestVer12.Builder().setXid(nextXid());
    }
    public OFFeaturesRequest featuresRequest() {
        return new OFFeaturesRequestVer12(
                nextXid()
                    );
    }

    public OFFlowAdd.Builder buildFlowAdd() {
        return new OFFlowAddVer12.Builder().setXid(nextXid());
    }

    public OFFlowDelete.Builder buildFlowDelete() {
        return new OFFlowDeleteVer12.Builder().setXid(nextXid());
    }

    public OFFlowDeleteStrict.Builder buildFlowDeleteStrict() {
        return new OFFlowDeleteStrictVer12.Builder().setXid(nextXid());
    }

    public OFFlowModify.Builder buildFlowModify() {
        return new OFFlowModifyVer12.Builder().setXid(nextXid());
    }

    public OFFlowModifyStrict.Builder buildFlowModifyStrict() {
        return new OFFlowModifyStrictVer12.Builder().setXid(nextXid());
    }

    public OFFlowRemoved.Builder buildFlowRemoved() {
        return new OFFlowRemovedVer12.Builder().setXid(nextXid());
    }

    public OFFlowStatsEntry.Builder buildFlowStatsEntry() {
        return new OFFlowStatsEntryVer12.Builder();
    }

    public OFFlowStatsReply.Builder buildFlowStatsReply() {
        return new OFFlowStatsReplyVer12.Builder().setXid(nextXid());
    }

    public OFFlowStatsRequest.Builder buildFlowStatsRequest() {
        return new OFFlowStatsRequestVer12.Builder().setXid(nextXid());
    }

    public OFGetConfigReply.Builder buildGetConfigReply() {
        return new OFGetConfigReplyVer12.Builder().setXid(nextXid());
    }

    public OFGetConfigRequest.Builder buildGetConfigRequest() {
        return new OFGetConfigRequestVer12.Builder().setXid(nextXid());
    }
    public OFGetConfigRequest getConfigRequest() {
        return new OFGetConfigRequestVer12(
                nextXid()
                    );
    }

    public OFHello.Builder buildHello() {
        return new OFHelloVer12.Builder().setXid(nextXid());
    }
    public OFHello hello(List<OFHelloElem> elements) {
        return new OFHelloVer12(
                nextXid()
                    );
    }

    public OFMatchV1.Builder buildMatchV1() {
        throw new UnsupportedOperationException("OFMatchV1 not supported in version 1.2");
    }

    public OFNiciraControllerRoleReply.Builder buildNiciraControllerRoleReply() {
        throw new UnsupportedOperationException("OFNiciraControllerRoleReply not supported in version 1.2");
    }
    public OFNiciraControllerRoleReply niciraControllerRoleReply(OFNiciraControllerRole role) {
        throw new UnsupportedOperationException("OFNiciraControllerRoleReply not supported in version 1.2");
    }

    public OFNiciraControllerRoleRequest.Builder buildNiciraControllerRoleRequest() {
        throw new UnsupportedOperationException("OFNiciraControllerRoleRequest not supported in version 1.2");
    }
    public OFNiciraControllerRoleRequest niciraControllerRoleRequest(OFNiciraControllerRole role) {
        throw new UnsupportedOperationException("OFNiciraControllerRoleRequest not supported in version 1.2");
    }

    public OFPacketIn.Builder buildPacketIn() {
        return new OFPacketInVer12.Builder().setXid(nextXid());
    }

    public OFPacketOut.Builder buildPacketOut() {
        return new OFPacketOutVer12.Builder().setXid(nextXid());
    }

    public OFPacketQueue.Builder buildPacketQueue() {
        return new OFPacketQueueVer12.Builder();
    }

    public OFPortDesc.Builder buildPortDesc() {
        return new OFPortDescVer12.Builder();
    }

    public OFPortMod.Builder buildPortMod() {
        return new OFPortModVer12.Builder().setXid(nextXid());
    }

    public OFPortStatsEntry.Builder buildPortStatsEntry() {
        return new OFPortStatsEntryVer12.Builder();
    }

    public OFPortStatsReply.Builder buildPortStatsReply() {
        return new OFPortStatsReplyVer12.Builder().setXid(nextXid());
    }

    public OFPortStatsRequest.Builder buildPortStatsRequest() {
        return new OFPortStatsRequestVer12.Builder().setXid(nextXid());
    }

    public OFPortStatus.Builder buildPortStatus() {
        return new OFPortStatusVer12.Builder().setXid(nextXid());
    }

    public OFQueueGetConfigReply.Builder buildQueueGetConfigReply() {
        return new OFQueueGetConfigReplyVer12.Builder().setXid(nextXid());
    }

    public OFQueueGetConfigRequest.Builder buildQueueGetConfigRequest() {
        return new OFQueueGetConfigRequestVer12.Builder().setXid(nextXid());
    }
    public OFQueueGetConfigRequest queueGetConfigRequest(OFPort port) {
        return new OFQueueGetConfigRequestVer12(
                nextXid(),
                      port
                    );
    }

    public OFQueueStatsEntry.Builder buildQueueStatsEntry() {
        return new OFQueueStatsEntryVer12.Builder();
    }

    public OFQueueStatsReply.Builder buildQueueStatsReply() {
        return new OFQueueStatsReplyVer12.Builder().setXid(nextXid());
    }

    public OFQueueStatsRequest.Builder buildQueueStatsRequest() {
        return new OFQueueStatsRequestVer12.Builder().setXid(nextXid());
    }

    public OFSetConfig.Builder buildSetConfig() {
        return new OFSetConfigVer12.Builder().setXid(nextXid());
    }

    public OFTableMod.Builder buildTableMod() {
        return new OFTableModVer12.Builder().setXid(nextXid());
    }

    public OFTableStatsEntry.Builder buildTableStatsEntry() {
        return new OFTableStatsEntryVer12.Builder();
    }

    public OFTableStatsReply.Builder buildTableStatsReply() {
        return new OFTableStatsReplyVer12.Builder().setXid(nextXid());
    }

    public OFTableStatsRequest.Builder buildTableStatsRequest() {
        return new OFTableStatsRequestVer12.Builder().setXid(nextXid());
    }
    public OFTableStatsRequest tableStatsRequest(Set<OFStatsRequestFlags> flags) {
        return new OFTableStatsRequestVer12(
                nextXid(),
                      flags
                    );
    }

    public OFBucket.Builder buildBucket() {
        return new OFBucketVer12.Builder();
    }

    public OFBucketCounter.Builder buildBucketCounter() {
        return new OFBucketCounterVer12.Builder();
    }
    public OFBucketCounter bucketCounter(U64 packetCount, U64 byteCount) {
        return new OFBucketCounterVer12(
                packetCount,
                      byteCount
                    );
    }

    public OFGroupAdd.Builder buildGroupAdd() {
        return new OFGroupAddVer12.Builder().setXid(nextXid());
    }

    public OFGroupDelete.Builder buildGroupDelete() {
        return new OFGroupDeleteVer12.Builder().setXid(nextXid());
    }

    public OFGroupDescStatsEntry.Builder buildGroupDescStatsEntry() {
        return new OFGroupDescStatsEntryVer12.Builder();
    }

    public OFGroupDescStatsReply.Builder buildGroupDescStatsReply() {
        return new OFGroupDescStatsReplyVer12.Builder().setXid(nextXid());
    }

    public OFGroupDescStatsRequest.Builder buildGroupDescStatsRequest() {
        return new OFGroupDescStatsRequestVer12.Builder().setXid(nextXid());
    }
    public OFGroupDescStatsRequest groupDescStatsRequest(Set<OFStatsRequestFlags> flags) {
        return new OFGroupDescStatsRequestVer12(
                nextXid(),
                      flags
                    );
    }

    public OFGroupModify.Builder buildGroupModify() {
        return new OFGroupModifyVer12.Builder().setXid(nextXid());
    }

    public OFGroupStatsEntry.Builder buildGroupStatsEntry() {
        return new OFGroupStatsEntryVer12.Builder();
    }

    public OFGroupStatsReply.Builder buildGroupStatsReply() {
        return new OFGroupStatsReplyVer12.Builder().setXid(nextXid());
    }

    public OFGroupStatsRequest.Builder buildGroupStatsRequest() {
        return new OFGroupStatsRequestVer12.Builder().setXid(nextXid());
    }

    public OFMatchV2.Builder buildMatchV2() {
        throw new UnsupportedOperationException("OFMatchV2 not supported in version 1.2");
    }

    public OFGroupFeaturesStatsReply.Builder buildGroupFeaturesStatsReply() {
        return new OFGroupFeaturesStatsReplyVer12.Builder().setXid(nextXid());
    }

    public OFGroupFeaturesStatsRequest.Builder buildGroupFeaturesStatsRequest() {
        return new OFGroupFeaturesStatsRequestVer12.Builder().setXid(nextXid());
    }
    public OFGroupFeaturesStatsRequest groupFeaturesStatsRequest(Set<OFStatsRequestFlags> flags) {
        return new OFGroupFeaturesStatsRequestVer12(
                nextXid(),
                      flags
                    );
    }

    public OFMatchV3.Builder buildMatchV3() {
        return new OFMatchV3Ver12.Builder();
    }
    public Match.Builder buildMatch() {
        return new OFMatchV3Ver12.Builder();
    }

    final static Match MATCH_WILDCARD_ALL = OFMatchV3Ver12.DEFAULT;

    public Match matchWildcardAll() {
        return MATCH_WILDCARD_ALL;
    }
    public OFMatchV3 matchV3(OFOxmList oxmList) {
        return new OFMatchV3Ver12(
                oxmList
                    );
    }

    public OFRoleReply.Builder buildRoleReply() {
        return new OFRoleReplyVer12.Builder().setXid(nextXid());
    }

    public OFRoleRequest.Builder buildRoleRequest() {
        return new OFRoleRequestVer12.Builder().setXid(nextXid());
    }

    public OFAsyncGetReply.Builder buildAsyncGetReply() {
        throw new UnsupportedOperationException("OFAsyncGetReply not supported in version 1.2");
    }

    public OFAsyncGetRequest.Builder buildAsyncGetRequest() {
        throw new UnsupportedOperationException("OFAsyncGetRequest not supported in version 1.2");
    }

    public OFAsyncSet.Builder buildAsyncSet() {
        throw new UnsupportedOperationException("OFAsyncSet not supported in version 1.2");
    }

    public OFBsnArpIdle.Builder buildBsnArpIdle() {
        throw new UnsupportedOperationException("OFBsnArpIdle not supported in version 1.2");
    }

    public OFBsnControllerConnection.Builder buildBsnControllerConnection() {
        throw new UnsupportedOperationException("OFBsnControllerConnection not supported in version 1.2");
    }

    public OFBsnControllerConnectionsReply.Builder buildBsnControllerConnectionsReply() {
        throw new UnsupportedOperationException("OFBsnControllerConnectionsReply not supported in version 1.2");
    }
    public OFBsnControllerConnectionsReply bsnControllerConnectionsReply(List<OFBsnControllerConnection> connections) {
        throw new UnsupportedOperationException("OFBsnControllerConnectionsReply not supported in version 1.2");
    }

    public OFBsnControllerConnectionsRequest.Builder buildBsnControllerConnectionsRequest() {
        throw new UnsupportedOperationException("OFBsnControllerConnectionsRequest not supported in version 1.2");
    }
    public OFBsnControllerConnectionsRequest bsnControllerConnectionsRequest() {
        throw new UnsupportedOperationException("OFBsnControllerConnectionsRequest not supported in version 1.2");
    }

    public OFBsnFlowChecksumBucketStatsEntry.Builder buildBsnFlowChecksumBucketStatsEntry() {
        throw new UnsupportedOperationException("OFBsnFlowChecksumBucketStatsEntry not supported in version 1.2");
    }
    public OFBsnFlowChecksumBucketStatsEntry bsnFlowChecksumBucketStatsEntry(U64 checksum) {
        throw new UnsupportedOperationException("OFBsnFlowChecksumBucketStatsEntry not supported in version 1.2");
    }

    public OFBsnFlowChecksumBucketStatsReply.Builder buildBsnFlowChecksumBucketStatsReply() {
        throw new UnsupportedOperationException("OFBsnFlowChecksumBucketStatsReply not supported in version 1.2");
    }

    public OFBsnFlowChecksumBucketStatsRequest.Builder buildBsnFlowChecksumBucketStatsRequest() {
        throw new UnsupportedOperationException("OFBsnFlowChecksumBucketStatsRequest not supported in version 1.2");
    }

    public OFBsnFlowIdle.Builder buildBsnFlowIdle() {
        throw new UnsupportedOperationException("OFBsnFlowIdle not supported in version 1.2");
    }

    public OFBsnFlowIdleEnableGetReply.Builder buildBsnFlowIdleEnableGetReply() {
        throw new UnsupportedOperationException("OFBsnFlowIdleEnableGetReply not supported in version 1.2");
    }
    public OFBsnFlowIdleEnableGetReply bsnFlowIdleEnableGetReply(long enabled) {
        throw new UnsupportedOperationException("OFBsnFlowIdleEnableGetReply not supported in version 1.2");
    }

    public OFBsnFlowIdleEnableGetRequest.Builder buildBsnFlowIdleEnableGetRequest() {
        throw new UnsupportedOperationException("OFBsnFlowIdleEnableGetRequest not supported in version 1.2");
    }
    public OFBsnFlowIdleEnableGetRequest bsnFlowIdleEnableGetRequest() {
        throw new UnsupportedOperationException("OFBsnFlowIdleEnableGetRequest not supported in version 1.2");
    }

    public OFBsnFlowIdleEnableSetReply.Builder buildBsnFlowIdleEnableSetReply() {
        throw new UnsupportedOperationException("OFBsnFlowIdleEnableSetReply not supported in version 1.2");
    }

    public OFBsnFlowIdleEnableSetRequest.Builder buildBsnFlowIdleEnableSetRequest() {
        throw new UnsupportedOperationException("OFBsnFlowIdleEnableSetRequest not supported in version 1.2");
    }
    public OFBsnFlowIdleEnableSetRequest bsnFlowIdleEnableSetRequest(long enable) {
        throw new UnsupportedOperationException("OFBsnFlowIdleEnableSetRequest not supported in version 1.2");
    }

    public OFBsnGentableBucketStatsEntry.Builder buildBsnGentableBucketStatsEntry() {
        throw new UnsupportedOperationException("OFBsnGentableBucketStatsEntry not supported in version 1.2");
    }
    public OFBsnGentableBucketStatsEntry bsnGentableBucketStatsEntry(OFChecksum128 checksum) {
        throw new UnsupportedOperationException("OFBsnGentableBucketStatsEntry not supported in version 1.2");
    }

    public OFBsnGentableBucketStatsReply.Builder buildBsnGentableBucketStatsReply() {
        throw new UnsupportedOperationException("OFBsnGentableBucketStatsReply not supported in version 1.2");
    }

    public OFBsnGentableBucketStatsRequest.Builder buildBsnGentableBucketStatsRequest() {
        throw new UnsupportedOperationException("OFBsnGentableBucketStatsRequest not supported in version 1.2");
    }

    public OFBsnGentableClearReply.Builder buildBsnGentableClearReply() {
        throw new UnsupportedOperationException("OFBsnGentableClearReply not supported in version 1.2");
    }

    public OFBsnGentableClearRequest.Builder buildBsnGentableClearRequest() {
        throw new UnsupportedOperationException("OFBsnGentableClearRequest not supported in version 1.2");
    }

    public OFBsnGentableDescStatsEntry.Builder buildBsnGentableDescStatsEntry() {
        throw new UnsupportedOperationException("OFBsnGentableDescStatsEntry not supported in version 1.2");
    }

    public OFBsnGentableDescStatsReply.Builder buildBsnGentableDescStatsReply() {
        throw new UnsupportedOperationException("OFBsnGentableDescStatsReply not supported in version 1.2");
    }

    public OFBsnGentableDescStatsRequest.Builder buildBsnGentableDescStatsRequest() {
        throw new UnsupportedOperationException("OFBsnGentableDescStatsRequest not supported in version 1.2");
    }
    public OFBsnGentableDescStatsRequest bsnGentableDescStatsRequest(Set<OFStatsRequestFlags> flags) {
        throw new UnsupportedOperationException("OFBsnGentableDescStatsRequest not supported in version 1.2");
    }

    public OFBsnGentableEntryAdd.Builder buildBsnGentableEntryAdd() {
        throw new UnsupportedOperationException("OFBsnGentableEntryAdd not supported in version 1.2");
    }

    public OFBsnGentableEntryDelete.Builder buildBsnGentableEntryDelete() {
        throw new UnsupportedOperationException("OFBsnGentableEntryDelete not supported in version 1.2");
    }

    public OFBsnGentableEntryDescStatsEntry.Builder buildBsnGentableEntryDescStatsEntry() {
        throw new UnsupportedOperationException("OFBsnGentableEntryDescStatsEntry not supported in version 1.2");
    }

    public OFBsnGentableEntryDescStatsReply.Builder buildBsnGentableEntryDescStatsReply() {
        throw new UnsupportedOperationException("OFBsnGentableEntryDescStatsReply not supported in version 1.2");
    }

    public OFBsnGentableEntryDescStatsRequest.Builder buildBsnGentableEntryDescStatsRequest() {
        throw new UnsupportedOperationException("OFBsnGentableEntryDescStatsRequest not supported in version 1.2");
    }

    public OFBsnGentableEntryStatsEntry.Builder buildBsnGentableEntryStatsEntry() {
        throw new UnsupportedOperationException("OFBsnGentableEntryStatsEntry not supported in version 1.2");
    }
    public OFBsnGentableEntryStatsEntry bsnGentableEntryStatsEntry(List<OFBsnTlv> key, List<OFBsnTlv> stats) {
        throw new UnsupportedOperationException("OFBsnGentableEntryStatsEntry not supported in version 1.2");
    }

    public OFBsnGentableEntryStatsReply.Builder buildBsnGentableEntryStatsReply() {
        throw new UnsupportedOperationException("OFBsnGentableEntryStatsReply not supported in version 1.2");
    }

    public OFBsnGentableEntryStatsRequest.Builder buildBsnGentableEntryStatsRequest() {
        throw new UnsupportedOperationException("OFBsnGentableEntryStatsRequest not supported in version 1.2");
    }

    public OFBsnGentableSetBucketsSize.Builder buildBsnGentableSetBucketsSize() {
        throw new UnsupportedOperationException("OFBsnGentableSetBucketsSize not supported in version 1.2");
    }

    public OFBsnGentableStatsEntry.Builder buildBsnGentableStatsEntry() {
        throw new UnsupportedOperationException("OFBsnGentableStatsEntry not supported in version 1.2");
    }

    public OFBsnGentableStatsReply.Builder buildBsnGentableStatsReply() {
        throw new UnsupportedOperationException("OFBsnGentableStatsReply not supported in version 1.2");
    }

    public OFBsnGentableStatsRequest.Builder buildBsnGentableStatsRequest() {
        throw new UnsupportedOperationException("OFBsnGentableStatsRequest not supported in version 1.2");
    }
    public OFBsnGentableStatsRequest bsnGentableStatsRequest(Set<OFStatsRequestFlags> flags) {
        throw new UnsupportedOperationException("OFBsnGentableStatsRequest not supported in version 1.2");
    }

    public OFBsnGetSwitchPipelineReply.Builder buildBsnGetSwitchPipelineReply() {
        throw new UnsupportedOperationException("OFBsnGetSwitchPipelineReply not supported in version 1.2");
    }
    public OFBsnGetSwitchPipelineReply bsnGetSwitchPipelineReply(String pipeline) {
        throw new UnsupportedOperationException("OFBsnGetSwitchPipelineReply not supported in version 1.2");
    }

    public OFBsnGetSwitchPipelineRequest.Builder buildBsnGetSwitchPipelineRequest() {
        throw new UnsupportedOperationException("OFBsnGetSwitchPipelineRequest not supported in version 1.2");
    }
    public OFBsnGetSwitchPipelineRequest bsnGetSwitchPipelineRequest() {
        throw new UnsupportedOperationException("OFBsnGetSwitchPipelineRequest not supported in version 1.2");
    }

    public OFBsnLacpConvergenceNotif.Builder buildBsnLacpConvergenceNotif() {
        throw new UnsupportedOperationException("OFBsnLacpConvergenceNotif not supported in version 1.2");
    }

    public OFBsnLacpStatsEntry.Builder buildBsnLacpStatsEntry() {
        throw new UnsupportedOperationException("OFBsnLacpStatsEntry not supported in version 1.2");
    }

    public OFBsnLacpStatsReply.Builder buildBsnLacpStatsReply() {
        throw new UnsupportedOperationException("OFBsnLacpStatsReply not supported in version 1.2");
    }

    public OFBsnLacpStatsRequest.Builder buildBsnLacpStatsRequest() {
        throw new UnsupportedOperationException("OFBsnLacpStatsRequest not supported in version 1.2");
    }
    public OFBsnLacpStatsRequest bsnLacpStatsRequest(Set<OFStatsRequestFlags> flags) {
        throw new UnsupportedOperationException("OFBsnLacpStatsRequest not supported in version 1.2");
    }

    public OFBsnPortCounterStatsEntry.Builder buildBsnPortCounterStatsEntry() {
        throw new UnsupportedOperationException("OFBsnPortCounterStatsEntry not supported in version 1.2");
    }
    public OFBsnPortCounterStatsEntry bsnPortCounterStatsEntry(OFPort portNo, List<U64> values) {
        throw new UnsupportedOperationException("OFBsnPortCounterStatsEntry not supported in version 1.2");
    }

    public OFBsnPortCounterStatsReply.Builder buildBsnPortCounterStatsReply() {
        throw new UnsupportedOperationException("OFBsnPortCounterStatsReply not supported in version 1.2");
    }

    public OFBsnPortCounterStatsRequest.Builder buildBsnPortCounterStatsRequest() {
        throw new UnsupportedOperationException("OFBsnPortCounterStatsRequest not supported in version 1.2");
    }

    public OFBsnRoleStatus.Builder buildBsnRoleStatus() {
        throw new UnsupportedOperationException("OFBsnRoleStatus not supported in version 1.2");
    }

    public OFBsnSetAuxCxnsReply.Builder buildBsnSetAuxCxnsReply() {
        throw new UnsupportedOperationException("OFBsnSetAuxCxnsReply not supported in version 1.2");
    }

    public OFBsnSetAuxCxnsRequest.Builder buildBsnSetAuxCxnsRequest() {
        throw new UnsupportedOperationException("OFBsnSetAuxCxnsRequest not supported in version 1.2");
    }
    public OFBsnSetAuxCxnsRequest bsnSetAuxCxnsRequest(long numAux) {
        throw new UnsupportedOperationException("OFBsnSetAuxCxnsRequest not supported in version 1.2");
    }

    public OFBsnSetLacpReply.Builder buildBsnSetLacpReply() {
        throw new UnsupportedOperationException("OFBsnSetLacpReply not supported in version 1.2");
    }

    public OFBsnSetLacpRequest.Builder buildBsnSetLacpRequest() {
        throw new UnsupportedOperationException("OFBsnSetLacpRequest not supported in version 1.2");
    }

    public OFBsnSetSwitchPipelineReply.Builder buildBsnSetSwitchPipelineReply() {
        throw new UnsupportedOperationException("OFBsnSetSwitchPipelineReply not supported in version 1.2");
    }
    public OFBsnSetSwitchPipelineReply bsnSetSwitchPipelineReply(long status) {
        throw new UnsupportedOperationException("OFBsnSetSwitchPipelineReply not supported in version 1.2");
    }

    public OFBsnSetSwitchPipelineRequest.Builder buildBsnSetSwitchPipelineRequest() {
        throw new UnsupportedOperationException("OFBsnSetSwitchPipelineRequest not supported in version 1.2");
    }
    public OFBsnSetSwitchPipelineRequest bsnSetSwitchPipelineRequest(String pipeline) {
        throw new UnsupportedOperationException("OFBsnSetSwitchPipelineRequest not supported in version 1.2");
    }

    public OFBsnSwitchPipelineStatsEntry.Builder buildBsnSwitchPipelineStatsEntry() {
        throw new UnsupportedOperationException("OFBsnSwitchPipelineStatsEntry not supported in version 1.2");
    }
    public OFBsnSwitchPipelineStatsEntry bsnSwitchPipelineStatsEntry(String pipeline) {
        throw new UnsupportedOperationException("OFBsnSwitchPipelineStatsEntry not supported in version 1.2");
    }

    public OFBsnSwitchPipelineStatsReply.Builder buildBsnSwitchPipelineStatsReply() {
        throw new UnsupportedOperationException("OFBsnSwitchPipelineStatsReply not supported in version 1.2");
    }

    public OFBsnSwitchPipelineStatsRequest.Builder buildBsnSwitchPipelineStatsRequest() {
        throw new UnsupportedOperationException("OFBsnSwitchPipelineStatsRequest not supported in version 1.2");
    }
    public OFBsnSwitchPipelineStatsRequest bsnSwitchPipelineStatsRequest(Set<OFStatsRequestFlags> flags) {
        throw new UnsupportedOperationException("OFBsnSwitchPipelineStatsRequest not supported in version 1.2");
    }

    public OFBsnTableChecksumStatsEntry.Builder buildBsnTableChecksumStatsEntry() {
        throw new UnsupportedOperationException("OFBsnTableChecksumStatsEntry not supported in version 1.2");
    }
    public OFBsnTableChecksumStatsEntry bsnTableChecksumStatsEntry(TableId tableId, U64 checksum) {
        throw new UnsupportedOperationException("OFBsnTableChecksumStatsEntry not supported in version 1.2");
    }

    public OFBsnTableChecksumStatsReply.Builder buildBsnTableChecksumStatsReply() {
        throw new UnsupportedOperationException("OFBsnTableChecksumStatsReply not supported in version 1.2");
    }

    public OFBsnTableChecksumStatsRequest.Builder buildBsnTableChecksumStatsRequest() {
        throw new UnsupportedOperationException("OFBsnTableChecksumStatsRequest not supported in version 1.2");
    }
    public OFBsnTableChecksumStatsRequest bsnTableChecksumStatsRequest(Set<OFStatsRequestFlags> flags) {
        throw new UnsupportedOperationException("OFBsnTableChecksumStatsRequest not supported in version 1.2");
    }

    public OFBsnTableSetBucketsSize.Builder buildBsnTableSetBucketsSize() {
        throw new UnsupportedOperationException("OFBsnTableSetBucketsSize not supported in version 1.2");
    }

    public OFBsnTimeReply.Builder buildBsnTimeReply() {
        throw new UnsupportedOperationException("OFBsnTimeReply not supported in version 1.2");
    }
    public OFBsnTimeReply bsnTimeReply(U64 timeMs) {
        throw new UnsupportedOperationException("OFBsnTimeReply not supported in version 1.2");
    }

    public OFBsnTimeRequest.Builder buildBsnTimeRequest() {
        throw new UnsupportedOperationException("OFBsnTimeRequest not supported in version 1.2");
    }
    public OFBsnTimeRequest bsnTimeRequest() {
        throw new UnsupportedOperationException("OFBsnTimeRequest not supported in version 1.2");
    }

    public OFBsnVlanCounterStatsEntry.Builder buildBsnVlanCounterStatsEntry() {
        throw new UnsupportedOperationException("OFBsnVlanCounterStatsEntry not supported in version 1.2");
    }
    public OFBsnVlanCounterStatsEntry bsnVlanCounterStatsEntry(int vlanVid, List<U64> values) {
        throw new UnsupportedOperationException("OFBsnVlanCounterStatsEntry not supported in version 1.2");
    }

    public OFBsnVlanCounterStatsReply.Builder buildBsnVlanCounterStatsReply() {
        throw new UnsupportedOperationException("OFBsnVlanCounterStatsReply not supported in version 1.2");
    }

    public OFBsnVlanCounterStatsRequest.Builder buildBsnVlanCounterStatsRequest() {
        throw new UnsupportedOperationException("OFBsnVlanCounterStatsRequest not supported in version 1.2");
    }

    public OFHelloElemVersionbitmap.Builder buildHelloElemVersionbitmap() {
        throw new UnsupportedOperationException("OFHelloElemVersionbitmap not supported in version 1.2");
    }
    public OFHelloElemVersionbitmap helloElemVersionbitmap(List<U32> bitmaps) {
        throw new UnsupportedOperationException("OFHelloElemVersionbitmap not supported in version 1.2");
    }

    public OFMeterBandStats.Builder buildMeterBandStats() {
        throw new UnsupportedOperationException("OFMeterBandStats not supported in version 1.2");
    }
    public OFMeterBandStats meterBandStats(U64 packetBandCount, U64 byteBandCount) {
        throw new UnsupportedOperationException("OFMeterBandStats not supported in version 1.2");
    }

    public OFMeterConfig.Builder buildMeterConfig() {
        throw new UnsupportedOperationException("OFMeterConfig not supported in version 1.2");
    }

    public OFMeterConfigStatsReply.Builder buildMeterConfigStatsReply() {
        throw new UnsupportedOperationException("OFMeterConfigStatsReply not supported in version 1.2");
    }

    public OFMeterConfigStatsRequest.Builder buildMeterConfigStatsRequest() {
        throw new UnsupportedOperationException("OFMeterConfigStatsRequest not supported in version 1.2");
    }

    public OFMeterFeatures.Builder buildMeterFeatures() {
        throw new UnsupportedOperationException("OFMeterFeatures not supported in version 1.2");
    }

    public OFMeterFeaturesStatsReply.Builder buildMeterFeaturesStatsReply() {
        throw new UnsupportedOperationException("OFMeterFeaturesStatsReply not supported in version 1.2");
    }

    public OFMeterFeaturesStatsRequest.Builder buildMeterFeaturesStatsRequest() {
        throw new UnsupportedOperationException("OFMeterFeaturesStatsRequest not supported in version 1.2");
    }
    public OFMeterFeaturesStatsRequest meterFeaturesStatsRequest(Set<OFStatsRequestFlags> flags) {
        throw new UnsupportedOperationException("OFMeterFeaturesStatsRequest not supported in version 1.2");
    }

    public OFMeterMod.Builder buildMeterMod() {
        throw new UnsupportedOperationException("OFMeterMod not supported in version 1.2");
    }

    public OFMeterStats.Builder buildMeterStats() {
        throw new UnsupportedOperationException("OFMeterStats not supported in version 1.2");
    }

    public OFMeterStatsReply.Builder buildMeterStatsReply() {
        throw new UnsupportedOperationException("OFMeterStatsReply not supported in version 1.2");
    }

    public OFMeterStatsRequest.Builder buildMeterStatsRequest() {
        throw new UnsupportedOperationException("OFMeterStatsRequest not supported in version 1.2");
    }

    public OFPortDescStatsReply.Builder buildPortDescStatsReply() {
        throw new UnsupportedOperationException("OFPortDescStatsReply not supported in version 1.2");
    }

    public OFPortDescStatsRequest.Builder buildPortDescStatsRequest() {
        throw new UnsupportedOperationException("OFPortDescStatsRequest not supported in version 1.2");
    }
    public OFPortDescStatsRequest portDescStatsRequest(Set<OFStatsRequestFlags> flags) {
        throw new UnsupportedOperationException("OFPortDescStatsRequest not supported in version 1.2");
    }

    public OFTableFeaturePropApplyActions.Builder buildTableFeaturePropApplyActions() {
        throw new UnsupportedOperationException("OFTableFeaturePropApplyActions not supported in version 1.2");
    }
    public OFTableFeaturePropApplyActions tableFeaturePropApplyActions(List<OFActionId> actionIds) {
        throw new UnsupportedOperationException("OFTableFeaturePropApplyActions not supported in version 1.2");
    }

    public OFTableFeaturePropApplyActionsMiss.Builder buildTableFeaturePropApplyActionsMiss() {
        throw new UnsupportedOperationException("OFTableFeaturePropApplyActionsMiss not supported in version 1.2");
    }
    public OFTableFeaturePropApplyActionsMiss tableFeaturePropApplyActionsMiss(List<OFActionId> actionIds) {
        throw new UnsupportedOperationException("OFTableFeaturePropApplyActionsMiss not supported in version 1.2");
    }

    public OFTableFeaturePropApplySetfield.Builder buildTableFeaturePropApplySetfield() {
        throw new UnsupportedOperationException("OFTableFeaturePropApplySetfield not supported in version 1.2");
    }
    public OFTableFeaturePropApplySetfield tableFeaturePropApplySetfield(List<U32> oxmIds) {
        throw new UnsupportedOperationException("OFTableFeaturePropApplySetfield not supported in version 1.2");
    }

    public OFTableFeaturePropApplySetfieldMiss.Builder buildTableFeaturePropApplySetfieldMiss() {
        throw new UnsupportedOperationException("OFTableFeaturePropApplySetfieldMiss not supported in version 1.2");
    }
    public OFTableFeaturePropApplySetfieldMiss tableFeaturePropApplySetfieldMiss(List<U32> oxmIds) {
        throw new UnsupportedOperationException("OFTableFeaturePropApplySetfieldMiss not supported in version 1.2");
    }

    public OFTableFeaturePropExperimenter.Builder buildTableFeaturePropExperimenter() {
        throw new UnsupportedOperationException("OFTableFeaturePropExperimenter not supported in version 1.2");
    }

    public OFTableFeaturePropExperimenterMiss.Builder buildTableFeaturePropExperimenterMiss() {
        throw new UnsupportedOperationException("OFTableFeaturePropExperimenterMiss not supported in version 1.2");
    }

    public OFTableFeaturePropInstructions.Builder buildTableFeaturePropInstructions() {
        throw new UnsupportedOperationException("OFTableFeaturePropInstructions not supported in version 1.2");
    }
    public OFTableFeaturePropInstructions tableFeaturePropInstructions(List<OFInstruction> instructionIds) {
        throw new UnsupportedOperationException("OFTableFeaturePropInstructions not supported in version 1.2");
    }

    public OFTableFeaturePropInstructionsMiss.Builder buildTableFeaturePropInstructionsMiss() {
        throw new UnsupportedOperationException("OFTableFeaturePropInstructionsMiss not supported in version 1.2");
    }
    public OFTableFeaturePropInstructionsMiss tableFeaturePropInstructionsMiss(List<OFInstruction> instructionIds) {
        throw new UnsupportedOperationException("OFTableFeaturePropInstructionsMiss not supported in version 1.2");
    }

    public OFTableFeaturePropMatch.Builder buildTableFeaturePropMatch() {
        throw new UnsupportedOperationException("OFTableFeaturePropMatch not supported in version 1.2");
    }
    public OFTableFeaturePropMatch tableFeaturePropMatch(List<U32> oxmIds) {
        throw new UnsupportedOperationException("OFTableFeaturePropMatch not supported in version 1.2");
    }

    public OFTableFeaturePropNextTables.Builder buildTableFeaturePropNextTables() {
        throw new UnsupportedOperationException("OFTableFeaturePropNextTables not supported in version 1.2");
    }
    public OFTableFeaturePropNextTables tableFeaturePropNextTables(List<U8> nextTableIds) {
        throw new UnsupportedOperationException("OFTableFeaturePropNextTables not supported in version 1.2");
    }

    public OFTableFeaturePropNextTablesMiss.Builder buildTableFeaturePropNextTablesMiss() {
        throw new UnsupportedOperationException("OFTableFeaturePropNextTablesMiss not supported in version 1.2");
    }
    public OFTableFeaturePropNextTablesMiss tableFeaturePropNextTablesMiss(List<U8> nextTableIds) {
        throw new UnsupportedOperationException("OFTableFeaturePropNextTablesMiss not supported in version 1.2");
    }

    public OFTableFeaturePropWildcards.Builder buildTableFeaturePropWildcards() {
        throw new UnsupportedOperationException("OFTableFeaturePropWildcards not supported in version 1.2");
    }
    public OFTableFeaturePropWildcards tableFeaturePropWildcards(List<U32> oxmIds) {
        throw new UnsupportedOperationException("OFTableFeaturePropWildcards not supported in version 1.2");
    }

    public OFTableFeaturePropWriteActions.Builder buildTableFeaturePropWriteActions() {
        throw new UnsupportedOperationException("OFTableFeaturePropWriteActions not supported in version 1.2");
    }
    public OFTableFeaturePropWriteActions tableFeaturePropWriteActions(List<OFActionId> actionIds) {
        throw new UnsupportedOperationException("OFTableFeaturePropWriteActions not supported in version 1.2");
    }

    public OFTableFeaturePropWriteActionsMiss.Builder buildTableFeaturePropWriteActionsMiss() {
        throw new UnsupportedOperationException("OFTableFeaturePropWriteActionsMiss not supported in version 1.2");
    }
    public OFTableFeaturePropWriteActionsMiss tableFeaturePropWriteActionsMiss(List<OFActionId> actionIds) {
        throw new UnsupportedOperationException("OFTableFeaturePropWriteActionsMiss not supported in version 1.2");
    }

    public OFTableFeaturePropWriteSetfield.Builder buildTableFeaturePropWriteSetfield() {
        throw new UnsupportedOperationException("OFTableFeaturePropWriteSetfield not supported in version 1.2");
    }
    public OFTableFeaturePropWriteSetfield tableFeaturePropWriteSetfield(List<U32> oxmIds) {
        throw new UnsupportedOperationException("OFTableFeaturePropWriteSetfield not supported in version 1.2");
    }

    public OFTableFeaturePropWriteSetfieldMiss.Builder buildTableFeaturePropWriteSetfieldMiss() {
        throw new UnsupportedOperationException("OFTableFeaturePropWriteSetfieldMiss not supported in version 1.2");
    }
    public OFTableFeaturePropWriteSetfieldMiss tableFeaturePropWriteSetfieldMiss(List<U32> oxmIds) {
        throw new UnsupportedOperationException("OFTableFeaturePropWriteSetfieldMiss not supported in version 1.2");
    }

    public OFTableFeatures.Builder buildTableFeatures() {
        throw new UnsupportedOperationException("OFTableFeatures not supported in version 1.2");
    }

    public OFTableFeaturesStatsReply.Builder buildTableFeaturesStatsReply() {
        throw new UnsupportedOperationException("OFTableFeaturesStatsReply not supported in version 1.2");
    }

    public OFTableFeaturesStatsRequest.Builder buildTableFeaturesStatsRequest() {
        throw new UnsupportedOperationException("OFTableFeaturesStatsRequest not supported in version 1.2");
    }

    public OFUint64.Builder buildUint64() {
        throw new UnsupportedOperationException("OFUint64 not supported in version 1.2");
    }
    public OFUint64 uint64(U64 value) {
        throw new UnsupportedOperationException("OFUint64 not supported in version 1.2");
    }

    public OFMessageReader<OFMessage> getReader() {
        return OFMessageVer12.READER;
    }

    public long nextXid() {
        return xidGenerator.nextXid();
    }

    public OFVersion getVersion() {
            return OFVersion.OF_12;
    }
}
