Removed the 'extends Match' declaration from Match.Builder and added only the getters from Match into Builder.
Fixed builders templates accordingly.
diff --git a/java_gen/pre-written/src/main/java/org/openflow/protocol/match/Match.java b/java_gen/pre-written/src/main/java/org/openflow/protocol/match/Match.java
index cdb34e5..3fc5527 100644
--- a/java_gen/pre-written/src/main/java/org/openflow/protocol/match/Match.java
+++ b/java_gen/pre-written/src/main/java/org/openflow/protocol/match/Match.java
@@ -142,7 +142,21 @@
      *
      * @author Yotam Harchol (yotam.harchol@bigswitch.com)
      */
-    interface Builder extends Match {
+    interface Builder {
+        public <F extends OFValueType<F>> F get(MatchField<F> field) throws UnsupportedOperationException;
+
+        public <F extends OFValueType<F>> Masked<F> getMasked(MatchField<F> field) throws UnsupportedOperationException;
+
+        public boolean supports(MatchField<?> field);
+
+        public boolean supportsMasked(MatchField<?> field) throws UnsupportedOperationException;
+
+        public boolean isExact(MatchField<?> field) throws UnsupportedOperationException;
+
+        public boolean isFullyWildcarded(MatchField<?> field) throws UnsupportedOperationException;
+
+        public boolean isPartiallyMasked(MatchField<?> field) throws UnsupportedOperationException;
+
         /**
          * Sets a specific exact value for a field.
          *
diff --git a/java_gen/templates/custom/OFMatchV1Ver10.Builder.java b/java_gen/templates/custom/OFMatchV1Ver10.Builder.java
index ba739bc..6570df8 100644
--- a/java_gen/templates/custom/OFMatchV1Ver10.Builder.java
+++ b/java_gen/templates/custom/OFMatchV1Ver10.Builder.java
@@ -69,13 +69,3 @@
         // FIXME yotam - please replace with real implementation
         return null;
     }
-
-    @Override
-    public Builder createBuilder() {
-        return this;
-    }
-
-    @Override
-    public void writeTo(ChannelBuffer bb) {
-        // FIXME yotam - please replace with real implementation        
-    }
diff --git a/java_gen/templates/custom/OFMatchV2Ver11.Builder.java b/java_gen/templates/custom/OFMatchV2Ver11.Builder.java
index ba739bc..6570df8 100644
--- a/java_gen/templates/custom/OFMatchV2Ver11.Builder.java
+++ b/java_gen/templates/custom/OFMatchV2Ver11.Builder.java
@@ -69,13 +69,3 @@
         // FIXME yotam - please replace with real implementation
         return null;
     }
-
-    @Override
-    public Builder createBuilder() {
-        return this;
-    }
-
-    @Override
-    public void writeTo(ChannelBuffer bb) {
-        // FIXME yotam - please replace with real implementation        
-    }
diff --git a/java_gen/templates/custom/OFMatchV3Ver12.Builder.java b/java_gen/templates/custom/OFMatchV3Ver12.Builder.java
index b5fa630..3fae367 100644
--- a/java_gen/templates/custom/OFMatchV3Ver12.Builder.java
+++ b/java_gen/templates/custom/OFMatchV3Ver12.Builder.java
@@ -104,14 +104,3 @@
         updateOxmList();
         return this;
     }
-
-    @Override
-    public Builder createBuilder() {
-        return this;
-    }
-
-    @Override
-    public void writeTo(ChannelBuffer bb) {
-        // TODO: What should this write?
-        throw new UnsupportedOperationException("Builder cannot be written");
-    }
\ No newline at end of file
diff --git a/java_gen/templates/custom/OFMatchV3Ver13.Builder.java b/java_gen/templates/custom/OFMatchV3Ver13.Builder.java
index b5fa630..48f8b70 100644
--- a/java_gen/templates/custom/OFMatchV3Ver13.Builder.java
+++ b/java_gen/templates/custom/OFMatchV3Ver13.Builder.java
@@ -105,13 +105,3 @@
         return this;
     }
 
-    @Override
-    public Builder createBuilder() {
-        return this;
-    }
-
-    @Override
-    public void writeTo(ChannelBuffer bb) {
-        // TODO: What should this write?
-        throw new UnsupportedOperationException("Builder cannot be written");
-    }
\ No newline at end of file