1. Added more match fields for ICMPv6 and MPLS
2. Fixes to avoid unnecessary warnings in generated code
3. Added the general method Match getMatch() to factories and made unit tests use it
diff --git a/java_gen/templates/of_factory_interface.java b/java_gen/templates/of_factory_interface.java
index 329539f..634362d 100644
--- a/java_gen/templates/of_factory_interface.java
+++ b/java_gen/templates/of_factory_interface.java
@@ -27,6 +27,7 @@
 //::
 //:: import itertools
 //:: import of_g
+//:: import re
 //:: include('_copyright.java')
 
 //:: include('_autogen.java')
@@ -52,6 +53,9 @@
     ${i.name} ${factory.method_name(i, builder=False )}(${", ".join("%s %s" % (p.java_type.public_type, p.name) for p in i.writeable_members)});
     //:: #endif
 //:: #endfor
+//:: if factory.name == 'OFFactory':
+    Match.Builder buildMatch();
+//:: #endif
 
     OFMessageReader<${factory.base_class}> getReader();