diff --git a/dist/open-dis7-java.jar b/dist/open-dis7-java.jar
index 440848726764184f6cd63a6b6952211a60bb8bcd..b31431d8377121fbe32943a856b4fcc8d08950f2 100644
Binary files a/dist/open-dis7-java.jar and b/dist/open-dis7-java.jar differ
diff --git a/dist/open-dis7-javadoc.jar b/dist/open-dis7-javadoc.jar
index 5f992dacf98e58d38ce8045f3594b9a06aee0a7b..2cbaa00e9da1a1aff16d6e6a8cfbeb8b8cdbc710 100644
Binary files a/dist/open-dis7-javadoc.jar and b/dist/open-dis7-javadoc.jar differ
diff --git a/dist/open-dis7-source.jar b/dist/open-dis7-source.jar
index a9c801845c958027ee2ba59385ef21d14479c4a3..3b81e0b7650af01b1d359d72cd3ca4e035481a32 100644
Binary files a/dist/open-dis7-source.jar and b/dist/open-dis7-source.jar differ
diff --git a/entityjars/open-dis7-entities-all.jar b/entityjars/open-dis7-entities-all.jar
index e22634a6962465a1b821d21bd0e5bca390b7e2a0..d7db15b469dfb355ef690caa40e7cc7a759441b3 100644
Binary files a/entityjars/open-dis7-entities-all.jar and b/entityjars/open-dis7-entities-all.jar differ
diff --git a/entityjars/open-dis7-entities-chn.jar b/entityjars/open-dis7-entities-chn.jar
index c009309b0a3a2f623816b0c6b3ddbfd3080edc90..e0eaf265c21ab55b153151e65d561f1e2cf7c1de 100644
Binary files a/entityjars/open-dis7-entities-chn.jar and b/entityjars/open-dis7-entities-chn.jar differ
diff --git a/entityjars/open-dis7-entities-deu.jar b/entityjars/open-dis7-entities-deu.jar
index 125ee9341cf22f189fe5aaacebb0627b5def762f..55e54721f7b86ca4fc2685dad2fada7dcf51bff7 100644
Binary files a/entityjars/open-dis7-entities-deu.jar and b/entityjars/open-dis7-entities-deu.jar differ
diff --git a/entityjars/open-dis7-entities-javadoc.jar b/entityjars/open-dis7-entities-javadoc.jar
index 96720f08b0d9186a3580e4de8832ad3222797c5c..a83c99daafe2842f8fd2670fd92d8750fcba365c 100644
Binary files a/entityjars/open-dis7-entities-javadoc.jar and b/entityjars/open-dis7-entities-javadoc.jar differ
diff --git a/entityjars/open-dis7-entities-nato.jar b/entityjars/open-dis7-entities-nato.jar
index e3ed2094ee34a82dd1849661ae456982c2bbd96d..d7061c48c21e2776c57e6be204a105c6a626f895 100644
Binary files a/entityjars/open-dis7-entities-nato.jar and b/entityjars/open-dis7-entities-nato.jar differ
diff --git a/entityjars/open-dis7-entities-rus.jar b/entityjars/open-dis7-entities-rus.jar
index fb475780c2e767508bb4cd216f234e717d57401e..1e49dbf94e4e5fe43536f22496b1fb32c864ac08 100644
Binary files a/entityjars/open-dis7-entities-rus.jar and b/entityjars/open-dis7-entities-rus.jar differ
diff --git a/entityjars/open-dis7-entities-usa-air.jar b/entityjars/open-dis7-entities-usa-air.jar
index a2149fb22cb3517763f7588499d929837605ea2b..87c612bc544db7cd72b64ea9307515474fe46102 100644
Binary files a/entityjars/open-dis7-entities-usa-air.jar and b/entityjars/open-dis7-entities-usa-air.jar differ
diff --git a/entityjars/open-dis7-entities-usa-all.jar b/entityjars/open-dis7-entities-usa-all.jar
index cd3208cfec16364cd59cc9c6d54f52551a241af1..b9d74b64c329d4c38c0ed132a7ce7ec3202bbe03 100644
Binary files a/entityjars/open-dis7-entities-usa-all.jar and b/entityjars/open-dis7-entities-usa-all.jar differ
diff --git a/entityjars/open-dis7-entities-usa-land.jar b/entityjars/open-dis7-entities-usa-land.jar
index c93887fa5c81684257c4d99e3ba5033a3d7d2d59..8365362c6349ecf12aa04a99f84740a92736035c 100644
Binary files a/entityjars/open-dis7-entities-usa-land.jar and b/entityjars/open-dis7-entities-usa-land.jar differ
diff --git a/entityjars/open-dis7-entities-usa-munitions.jar b/entityjars/open-dis7-entities-usa-munitions.jar
index 9f0b904a4827aa1410fa628ffa3567362a0747a3..8f22e729fbe3c278a2255103ddcec522110068b3 100644
Binary files a/entityjars/open-dis7-entities-usa-munitions.jar and b/entityjars/open-dis7-entities-usa-munitions.jar differ
diff --git a/entityjars/open-dis7-entities-usa-surface.jar b/entityjars/open-dis7-entities-usa-surface.jar
index c717bca95f5a4eeb2e41189136bfda14bd8d2b4c..83a5be28e245897045360decac24c4cfd12bf47c 100644
Binary files a/entityjars/open-dis7-entities-usa-surface.jar and b/entityjars/open-dis7-entities-usa-surface.jar differ
diff --git a/nbproject/project.properties b/nbproject/project.properties
index 7f7a27835273a9cf1a5c540d0e3fe5f99531d91f..77575bdc99ed02e4fe84cdbca7cd80a1f25136ce 100644
--- a/nbproject/project.properties
+++ b/nbproject/project.properties
@@ -37,6 +37,7 @@ endorsed.classpath=
 excludes=
 file.reference.commons-io-2.6.jar=optionallibs/commons-io-2.6.jar
 file.reference.guava-28.0-jre.jar=optionallibs/guava-28.0-jre.jar
+file.reference.open-dis7-entities-all.jar=entityjars/open-dis7-entities-all.jar
 file.reference.open-dis7-entities-usa-land.jar=entityjars/open-dis7-entities-usa-land.jar
 file.reference.open-dis7-entities-usa-surface.jar=entityjars/open-dis7-entities-usa-surface.jar
 includes=**
@@ -58,7 +59,9 @@ javac.source=1.8
 javac.target=1.8
 javac.test.classpath=\
     ${javac.classpath}:\
-    ${build.classes.dir}
+    ${build.classes.dir}:\
+    ${libs.junit_5.classpath}:\
+    ${file.reference.open-dis7-entities-all.jar}
 javac.test.modulepath=\
     ${javac.modulepath}
 javac.test.processorpath=\
@@ -97,7 +100,8 @@ run.modulepath=\
     ${javac.modulepath}
 run.test.classpath=\
     ${javac.test.classpath}:\
-    ${build.test.classes.dir}
+    ${build.test.classes.dir}:\
+    ${file.reference.open-dis7-entities-all.jar}
 run.test.modulepath=\
     ${javac.test.modulepath}
 source.encoding=UTF-8
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/ArealObject/Obstacle/Minefield/Hasty/Hasty.java b/src-generated/edu/nps/moves/dis7/objecttypes/ArealObject/Obstacle/Minefield/Hasty/Hasty.java
new file mode 100644
index 0000000000000000000000000000000000000000..e8a0a0fc98a020dece4f62cb1943c23e5721e7b9
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/ArealObject/Obstacle/Minefield/Hasty/Hasty.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.ArealObject.Obstacle.Minefield.Hasty;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 228
+ */
+public class Hasty extends ObjectType
+{
+    public Hasty()
+    {
+        setDomain(PlatformDomain.getEnumForValue(0));
+        setObjectKind(ObjectKind.getEnumForValue(1)); // Obstacle
+        setCategory((byte)1); // Minefield
+        setSubCategory((byte)1); // Hasty
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/ArealObject/Obstacle/Minefield/Other/Other.java b/src-generated/edu/nps/moves/dis7/objecttypes/ArealObject/Obstacle/Minefield/Other/Other.java
new file mode 100644
index 0000000000000000000000000000000000000000..87b631b62c0fcf1473e91af7b5e39d72f3f5fbfc
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/ArealObject/Obstacle/Minefield/Other/Other.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.ArealObject.Obstacle.Minefield.Other;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 228
+ */
+public class Other extends ObjectType
+{
+    public Other()
+    {
+        setDomain(PlatformDomain.getEnumForValue(0));
+        setObjectKind(ObjectKind.getEnumForValue(1)); // Obstacle
+        setCategory((byte)1); // Minefield
+        setSubCategory((byte)0); // Other
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/ArealObject/Obstacle/Minefield/Prepared/Prepared.java b/src-generated/edu/nps/moves/dis7/objecttypes/ArealObject/Obstacle/Minefield/Prepared/Prepared.java
new file mode 100644
index 0000000000000000000000000000000000000000..94517fe4726310e764b387bc214d6de58a71573b
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/ArealObject/Obstacle/Minefield/Prepared/Prepared.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.ArealObject.Obstacle.Minefield.Prepared;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 228
+ */
+public class Prepared extends ObjectType
+{
+    public Prepared()
+    {
+        setDomain(PlatformDomain.getEnumForValue(0));
+        setObjectKind(ObjectKind.getEnumForValue(1)); // Obstacle
+        setCategory((byte)1); // Minefield
+        setSubCategory((byte)2); // Prepared
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/ArealObject/Obstacle/Minefield/Scattered/Scattered.java b/src-generated/edu/nps/moves/dis7/objecttypes/ArealObject/Obstacle/Minefield/Scattered/Scattered.java
new file mode 100644
index 0000000000000000000000000000000000000000..04ffa70c40f397d1f13a531af7eb4c36eb156a59
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/ArealObject/Obstacle/Minefield/Scattered/Scattered.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.ArealObject.Obstacle.Minefield.Scattered;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 228
+ */
+public class Scattered extends ObjectType
+{
+    public Scattered()
+    {
+        setDomain(PlatformDomain.getEnumForValue(0));
+        setObjectKind(ObjectKind.getEnumForValue(1)); // Obstacle
+        setCategory((byte)1); // Minefield
+        setSubCategory((byte)3); // Scattered
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/ArealObject/Obstacle/Minefield/Solitary/Solitary.java b/src-generated/edu/nps/moves/dis7/objecttypes/ArealObject/Obstacle/Minefield/Solitary/Solitary.java
new file mode 100644
index 0000000000000000000000000000000000000000..c7698170eca598b97ce4ac074de24d0f8539ebe0
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/ArealObject/Obstacle/Minefield/Solitary/Solitary.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.ArealObject.Obstacle.Minefield.Solitary;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 228
+ */
+public class Solitary extends ObjectType
+{
+    public Solitary()
+    {
+        setDomain(PlatformDomain.getEnumForValue(0));
+        setObjectKind(ObjectKind.getEnumForValue(1)); // Obstacle
+        setCategory((byte)1); // Minefield
+        setSubCategory((byte)4); // Solitary
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/LinearObject/Culturalfeature/Wire/Wire_Crush/Wire_Crush.java b/src-generated/edu/nps/moves/dis7/objecttypes/LinearObject/Culturalfeature/Wire/Wire_Crush/Wire_Crush.java
new file mode 100644
index 0000000000000000000000000000000000000000..af1b3f5f73dd0aca4b605519c94bc56238958d59
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/LinearObject/Culturalfeature/Wire/Wire_Crush/Wire_Crush.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.LinearObject.Culturalfeature.Wire.Wire_Crush;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 227
+ */
+public class Wire_Crush extends ObjectType
+{
+    public Wire_Crush()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)1); // Wire
+        setSubCategory((byte)1); // Wire, Crush
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/LinearObject/Obstacle/ConcertinaWire/Other/Other.java b/src-generated/edu/nps/moves/dis7/objecttypes/LinearObject/Obstacle/ConcertinaWire/Other/Other.java
new file mode 100644
index 0000000000000000000000000000000000000000..5d13aca4fdf7ebb6af306cf91fe2045247cdcdfd
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/LinearObject/Obstacle/ConcertinaWire/Other/Other.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.LinearObject.Obstacle.ConcertinaWire.Other;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 227
+ */
+public class Other extends ObjectType
+{
+    public Other()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(1)); // Obstacle
+        setCategory((byte)2); // Concertina Wire
+        setSubCategory((byte)0); // Other
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/LinearObject/Obstacle/ConcertinaWire/_2_Roll/_2_Roll.java b/src-generated/edu/nps/moves/dis7/objecttypes/LinearObject/Obstacle/ConcertinaWire/_2_Roll/_2_Roll.java
new file mode 100644
index 0000000000000000000000000000000000000000..6776fa84705a2cba473e83a391b0af28af775016
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/LinearObject/Obstacle/ConcertinaWire/_2_Roll/_2_Roll.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.LinearObject.Obstacle.ConcertinaWire._2_Roll;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 227
+ */
+public class _2_Roll extends ObjectType
+{
+    public _2_Roll()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(1)); // Obstacle
+        setCategory((byte)2); // Concertina Wire
+        setSubCategory((byte)1); // 2-Roll
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/LinearObject/Obstacle/ConcertinaWire/_3_Roll/_3_Roll.java b/src-generated/edu/nps/moves/dis7/objecttypes/LinearObject/Obstacle/ConcertinaWire/_3_Roll/_3_Roll.java
new file mode 100644
index 0000000000000000000000000000000000000000..43ff13a81c1fb4b93b22a459c7f8953334235b70
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/LinearObject/Obstacle/ConcertinaWire/_3_Roll/_3_Roll.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.LinearObject.Obstacle.ConcertinaWire._3_Roll;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 227
+ */
+public class _3_Roll extends ObjectType
+{
+    public _3_Roll()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(1)); // Obstacle
+        setCategory((byte)2); // Concertina Wire
+        setSubCategory((byte)2); // 3-Roll
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/LinearObject/Obstacle/TankDitch/Other/Other.java b/src-generated/edu/nps/moves/dis7/objecttypes/LinearObject/Obstacle/TankDitch/Other/Other.java
new file mode 100644
index 0000000000000000000000000000000000000000..4b0b4e7977fc69d4df99363027e12864916ae90c
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/LinearObject/Obstacle/TankDitch/Other/Other.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.LinearObject.Obstacle.TankDitch.Other;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 227
+ */
+public class Other extends ObjectType
+{
+    public Other()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(1)); // Obstacle
+        setCategory((byte)1); // Tank Ditch
+        setSubCategory((byte)0); // Other
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/LinearObject/Obstaclebreach/Breach/Other/Other.java b/src-generated/edu/nps/moves/dis7/objecttypes/LinearObject/Obstaclebreach/Breach/Other/Other.java
new file mode 100644
index 0000000000000000000000000000000000000000..28702a5b03e5cf15b44bc9ebda24f3cb2f9b5bf2
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/LinearObject/Obstaclebreach/Breach/Other/Other.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.LinearObject.Obstaclebreach.Breach.Other;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 227
+ */
+public class Other extends ObjectType
+{
+    public Other()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(7)); // Obstacle breach
+        setCategory((byte)1); // Breach
+        setSubCategory((byte)0); // Other
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/LinearObject/Obstaclemarker/MinefieldLaneMarker/Other/Other.java b/src-generated/edu/nps/moves/dis7/objecttypes/LinearObject/Obstaclemarker/MinefieldLaneMarker/Other/Other.java
new file mode 100644
index 0000000000000000000000000000000000000000..9b702b7fcabee6130616920e5f7015b111c6deef
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/LinearObject/Obstaclemarker/MinefieldLaneMarker/Other/Other.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.LinearObject.Obstaclemarker.MinefieldLaneMarker.Other;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 227
+ */
+public class Other extends ObjectType
+{
+    public Other()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(6)); // Obstacle marker
+        setCategory((byte)1); // Minefield Lane Marker
+        setSubCategory((byte)0); // Other
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/LinearObject/Tacticalsmoke/ExhaustSmoke/Other/Other.java b/src-generated/edu/nps/moves/dis7/objecttypes/LinearObject/Tacticalsmoke/ExhaustSmoke/Other/Other.java
new file mode 100644
index 0000000000000000000000000000000000000000..180a739186df7b604e14fcc243172313bf9f461f
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/LinearObject/Tacticalsmoke/ExhaustSmoke/Other/Other.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.LinearObject.Tacticalsmoke.ExhaustSmoke.Other;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 227
+ */
+public class Other extends ObjectType
+{
+    public Other()
+    {
+        setDomain(PlatformDomain.getEnumForValue(0));
+        setObjectKind(ObjectKind.getEnumForValue(5)); // Tactical smoke
+        setCategory((byte)1); // Exhaust Smoke
+        setSubCategory((byte)0); // Other
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/BuildingRubble/Other/Other.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/BuildingRubble/Other/Other.java
new file mode 100644
index 0000000000000000000000000000000000000000..66d5f68cf50f492f89796f178db19e9d82fcdb38
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/BuildingRubble/Other/Other.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.BuildingRubble.Other;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Other extends ObjectType
+{
+    public Other()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)2); // Building Rubble
+        setSubCategory((byte)0); // Other
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/ApartmentBuilding/ApartmentBuilding.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/ApartmentBuilding/ApartmentBuilding.java
new file mode 100644
index 0000000000000000000000000000000000000000..a136d5e92ddaf6ba94cd78f98bb9248d25156268
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/ApartmentBuilding/ApartmentBuilding.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.ApartmentBuilding;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class ApartmentBuilding extends ObjectType
+{
+    public ApartmentBuilding()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)1); // Building / Structure
+        setSubCategory((byte)2); // Apartment Building
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/Church/Church.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/Church/Church.java
new file mode 100644
index 0000000000000000000000000000000000000000..016fc64c79bc2aa968b954a8344c4a9614c66bea
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/Church/Church.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.Church;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Church extends ObjectType
+{
+    public Church()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)1); // Building / Structure
+        setSubCategory((byte)1); // Church
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/FOB_GuardTower/FOB_GuardTower.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/FOB_GuardTower/FOB_GuardTower.java
new file mode 100644
index 0000000000000000000000000000000000000000..dd7bcb9a096b2707d0bda4b897051b98904c1dcf
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/FOB_GuardTower/FOB_GuardTower.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.FOB_GuardTower;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class FOB_GuardTower extends ObjectType
+{
+    public FOB_GuardTower()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)1); // Building / Structure
+        setSubCategory((byte)17); // FOB, Guard Tower
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/FOB_TrailerOffice/FOB_TrailerOffice.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/FOB_TrailerOffice/FOB_TrailerOffice.java
new file mode 100644
index 0000000000000000000000000000000000000000..0e8fbbf19a2c833670ee32e4a893e015cef54c02
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/FOB_TrailerOffice/FOB_TrailerOffice.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.FOB_TrailerOffice;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class FOB_TrailerOffice extends ObjectType
+{
+    public FOB_TrailerOffice()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)1); // Building / Structure
+        setSubCategory((byte)16); // FOB, Trailer Office
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/GovernmentBuilding/GovernmentBuilding.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/GovernmentBuilding/GovernmentBuilding.java
new file mode 100644
index 0000000000000000000000000000000000000000..7561e6ea0d9153ed93adee3675ce43c889915e3d
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/GovernmentBuilding/GovernmentBuilding.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.GovernmentBuilding;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class GovernmentBuilding extends ObjectType
+{
+    public GovernmentBuilding()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)1); // Building / Structure
+        setSubCategory((byte)3); // Government Building
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/GuardHouse/GuardHouse.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/GuardHouse/GuardHouse.java
new file mode 100644
index 0000000000000000000000000000000000000000..a942be66303b5678b6f5a55cd8c9bd7654649e6c
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/GuardHouse/GuardHouse.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.GuardHouse;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class GuardHouse extends ObjectType
+{
+    public GuardHouse()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)1); // Building / Structure
+        setSubCategory((byte)18); // Guard House
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/Hanger/Hanger.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/Hanger/Hanger.java
new file mode 100644
index 0000000000000000000000000000000000000000..01f2b9d2e032b2484229eb3678cb5086e8e725bf
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/Hanger/Hanger.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.Hanger;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Hanger extends ObjectType
+{
+    public Hanger()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)1); // Building / Structure
+        setSubCategory((byte)5); // Hanger
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/IndustrialBuilding/IndustrialBuilding.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/IndustrialBuilding/IndustrialBuilding.java
new file mode 100644
index 0000000000000000000000000000000000000000..dc46cb409c744b0d7e88ad5cf0cac504239b7b75
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/IndustrialBuilding/IndustrialBuilding.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.IndustrialBuilding;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class IndustrialBuilding extends ObjectType
+{
+    public IndustrialBuilding()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)1); // Building / Structure
+        setSubCategory((byte)4); // Industrial Building
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/MicrowaveTower/MicrowaveTower.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/MicrowaveTower/MicrowaveTower.java
new file mode 100644
index 0000000000000000000000000000000000000000..c98e24efa004aa2bdcf40b11bbe365dc9f768e80
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/MicrowaveTower/MicrowaveTower.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.MicrowaveTower;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class MicrowaveTower extends ObjectType
+{
+    public MicrowaveTower()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)1); // Building / Structure
+        setSubCategory((byte)6); // Microwave Tower
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/Other/Other.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/Other/Other.java
new file mode 100644
index 0000000000000000000000000000000000000000..36c0374a8862a7c9adb17388638c3cb618340858
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/Other/Other.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.Other;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Other extends ObjectType
+{
+    public Other()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)1); // Building / Structure
+        setSubCategory((byte)0); // Other
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/PortaPotty/PortaPotty.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/PortaPotty/PortaPotty.java
new file mode 100644
index 0000000000000000000000000000000000000000..eabefa2a749b6e444b234a72a2269f8b67e09108
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/PortaPotty/PortaPotty.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.PortaPotty;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class PortaPotty extends ObjectType
+{
+    public PortaPotty()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)1); // Building / Structure
+        setSubCategory((byte)15); // Porta Potty
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/PowerPylon/PowerPylon.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/PowerPylon/PowerPylon.java
new file mode 100644
index 0000000000000000000000000000000000000000..2f83f8d70aab33ffbf35ede8f7892f38803beb00
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/PowerPylon/PowerPylon.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.PowerPylon;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class PowerPylon extends ObjectType
+{
+    public PowerPylon()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)1); // Building / Structure
+        setSubCategory((byte)7); // Power Pylon
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/RadioTower_1000ft/RadioTower_1000ft.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/RadioTower_1000ft/RadioTower_1000ft.java
new file mode 100644
index 0000000000000000000000000000000000000000..716278cd85a3046f5a95f15176f4ba8ef25fe757
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/RadioTower_1000ft/RadioTower_1000ft.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.RadioTower_1000ft;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class RadioTower_1000ft extends ObjectType
+{
+    public RadioTower_1000ft()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)1); // Building / Structure
+        setSubCategory((byte)14); // Radio Tower, 1000ft
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/RadioTower_100ft/RadioTower_100ft.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/RadioTower_100ft/RadioTower_100ft.java
new file mode 100644
index 0000000000000000000000000000000000000000..972a90c62e74873a1f17ab238f67e9583ec483b5
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/RadioTower_100ft/RadioTower_100ft.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.RadioTower_100ft;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class RadioTower_100ft extends ObjectType
+{
+    public RadioTower_100ft()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)1); // Building / Structure
+        setSubCategory((byte)12); // Radio Tower, 100ft
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/RadioTower_500ft/RadioTower_500ft.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/RadioTower_500ft/RadioTower_500ft.java
new file mode 100644
index 0000000000000000000000000000000000000000..b7cb4b24b49caa9476c25a14c81b440c0ca3ea16
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/RadioTower_500ft/RadioTower_500ft.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.RadioTower_500ft;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class RadioTower_500ft extends ObjectType
+{
+    public RadioTower_500ft()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)1); // Building / Structure
+        setSubCategory((byte)13); // Radio Tower, 500ft
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/Radio_TVTower/Radio_TVTower.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/Radio_TVTower/Radio_TVTower.java
new file mode 100644
index 0000000000000000000000000000000000000000..661c6f7fa621c09969968df93bce9f60ffa10028
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/Radio_TVTower/Radio_TVTower.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.Radio_TVTower;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Radio_TVTower extends ObjectType
+{
+    public Radio_TVTower()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)1); // Building / Structure
+        setSubCategory((byte)8); // Radio / TV Tower
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/School/School.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/School/School.java
new file mode 100644
index 0000000000000000000000000000000000000000..19a66b037f50778ef6e3cdf127d105fb698b135a
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/School/School.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.School;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class School extends ObjectType
+{
+    public School()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)1); // Building / Structure
+        setSubCategory((byte)9); // School
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/TransformerYard/TransformerYard.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/TransformerYard/TransformerYard.java
new file mode 100644
index 0000000000000000000000000000000000000000..59a49c3a4e7877ee4cf06ca2483a42bcf557ab6d
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/TransformerYard/TransformerYard.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.TransformerYard;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class TransformerYard extends ObjectType
+{
+    public TransformerYard()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)1); // Building / Structure
+        setSubCategory((byte)10); // Transformer Yard
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/Windmill/Windmill.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/Windmill/Windmill.java
new file mode 100644
index 0000000000000000000000000000000000000000..ec257c23a9c0697af94244506fbdc84bcda92a02
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Building_Structure/Windmill/Windmill.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.Windmill;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Windmill extends ObjectType
+{
+    public Windmill()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)1); // Building / Structure
+        setSubCategory((byte)19); // Windmill
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Container_BasedBuilding/Container_BasedBuilding_Bridge_Single/Container_BasedBuilding_Bridge_Single.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Container_BasedBuilding/Container_BasedBuilding_Bridge_Single/Container_BasedBuilding_Bridge_Single.java
new file mode 100644
index 0000000000000000000000000000000000000000..012976203b4bb2a102fd4b52edf27b0daef84a91
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Container_BasedBuilding/Container_BasedBuilding_Bridge_Single/Container_BasedBuilding_Bridge_Single.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Container_BasedBuilding.Container_BasedBuilding_Bridge_Single;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Container_BasedBuilding_Bridge_Single extends ObjectType
+{
+    public Container_BasedBuilding_Bridge_Single()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)8); // Container-Based Building
+        setSubCategory((byte)6); // Container-Based Building, Bridge, Single
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Container_BasedBuilding/Container_BasedBuilding_FOB/Container_BasedBuilding_FOB.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Container_BasedBuilding/Container_BasedBuilding_FOB/Container_BasedBuilding_FOB.java
new file mode 100644
index 0000000000000000000000000000000000000000..10b8150c1cec67d3981fc2fa48abf11f6d53c9f2
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Container_BasedBuilding/Container_BasedBuilding_FOB/Container_BasedBuilding_FOB.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Container_BasedBuilding.Container_BasedBuilding_FOB;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Container_BasedBuilding_FOB extends ObjectType
+{
+    public Container_BasedBuilding_FOB()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)8); // Container-Based Building
+        setSubCategory((byte)7); // Container-Based Building, FOB
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Container_BasedBuilding/Container_BasedBuilding_House_Double/Container_BasedBuilding_House_Double.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Container_BasedBuilding/Container_BasedBuilding_House_Double/Container_BasedBuilding_House_Double.java
new file mode 100644
index 0000000000000000000000000000000000000000..3b1a05cac26085c2b959b0b37ae7029f4d626f90
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Container_BasedBuilding/Container_BasedBuilding_House_Double/Container_BasedBuilding_House_Double.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Container_BasedBuilding.Container_BasedBuilding_House_Double;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Container_BasedBuilding_House_Double extends ObjectType
+{
+    public Container_BasedBuilding_House_Double()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)8); // Container-Based Building
+        setSubCategory((byte)4); // Container-Based Building, House, Double
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Container_BasedBuilding/Container_BasedBuilding_House_Single/Container_BasedBuilding_House_Single.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Container_BasedBuilding/Container_BasedBuilding_House_Single/Container_BasedBuilding_House_Single.java
new file mode 100644
index 0000000000000000000000000000000000000000..ebd58c363873b11c893dc9d510b736051b440060
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Container_BasedBuilding/Container_BasedBuilding_House_Single/Container_BasedBuilding_House_Single.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Container_BasedBuilding.Container_BasedBuilding_House_Single;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Container_BasedBuilding_House_Single extends ObjectType
+{
+    public Container_BasedBuilding_House_Single()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)8); // Container-Based Building
+        setSubCategory((byte)2); // Container-Based Building, House, Single
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Container_BasedBuilding/Container_BasedBuilding_House_Single_Railing/Container_BasedBuilding_House_Single_Railing.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Container_BasedBuilding/Container_BasedBuilding_House_Single_Railing/Container_BasedBuilding_House_Single_Railing.java
new file mode 100644
index 0000000000000000000000000000000000000000..47f0225d00143aa56c007a84dac361171810a20a
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Container_BasedBuilding/Container_BasedBuilding_House_Single_Railing/Container_BasedBuilding_House_Single_Railing.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Container_BasedBuilding.Container_BasedBuilding_House_Single_Railing;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Container_BasedBuilding_House_Single_Railing extends ObjectType
+{
+    public Container_BasedBuilding_House_Single_Railing()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)8); // Container-Based Building
+        setSubCategory((byte)3); // Container-Based Building, House, Single, Railing
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Container_BasedBuilding/Container_BasedBuilding_Mosque_Single/Container_BasedBuilding_Mosque_Single.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Container_BasedBuilding/Container_BasedBuilding_Mosque_Single/Container_BasedBuilding_Mosque_Single.java
new file mode 100644
index 0000000000000000000000000000000000000000..7a022a23470a5ee1cbfa0ad3e21ac82150c9ac0d
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Container_BasedBuilding/Container_BasedBuilding_Mosque_Single/Container_BasedBuilding_Mosque_Single.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Container_BasedBuilding.Container_BasedBuilding_Mosque_Single;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Container_BasedBuilding_Mosque_Single extends ObjectType
+{
+    public Container_BasedBuilding_Mosque_Single()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)8); // Container-Based Building
+        setSubCategory((byte)5); // Container-Based Building, Mosque, Single
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Container_BasedBuilding/Container_BasedBuilding_Store_Single/Container_BasedBuilding_Store_Single.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Container_BasedBuilding/Container_BasedBuilding_Store_Single/Container_BasedBuilding_Store_Single.java
new file mode 100644
index 0000000000000000000000000000000000000000..0e7a3e29c6ebd8ab663c3ede3ee3d9de24d30391
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Container_BasedBuilding/Container_BasedBuilding_Store_Single/Container_BasedBuilding_Store_Single.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Container_BasedBuilding.Container_BasedBuilding_Store_Single;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Container_BasedBuilding_Store_Single extends ObjectType
+{
+    public Container_BasedBuilding_Store_Single()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)8); // Container-Based Building
+        setSubCategory((byte)1); // Container-Based Building, Store, Single
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/DisturbedRoad/DisturbedRoad_Asphalt/DisturbedRoad_Asphalt.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/DisturbedRoad/DisturbedRoad_Asphalt/DisturbedRoad_Asphalt.java
new file mode 100644
index 0000000000000000000000000000000000000000..2f0eb4ccab163c3d3c3f6918e0b4372d4a67aedc
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/DisturbedRoad/DisturbedRoad_Asphalt/DisturbedRoad_Asphalt.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.DisturbedRoad.DisturbedRoad_Asphalt;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class DisturbedRoad_Asphalt extends ObjectType
+{
+    public DisturbedRoad_Asphalt()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)4); // Disturbed Road
+        setSubCategory((byte)2); // Disturbed Road, Asphalt
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/DisturbedRoad/DisturbedRoad_Concrete/DisturbedRoad_Concrete.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/DisturbedRoad/DisturbedRoad_Concrete/DisturbedRoad_Concrete.java
new file mode 100644
index 0000000000000000000000000000000000000000..4447a32a883a0753224577306276ffe0b5a08db2
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/DisturbedRoad/DisturbedRoad_Concrete/DisturbedRoad_Concrete.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.DisturbedRoad.DisturbedRoad_Concrete;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class DisturbedRoad_Concrete extends ObjectType
+{
+    public DisturbedRoad_Concrete()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)4); // Disturbed Road
+        setSubCategory((byte)3); // Disturbed Road, Concrete
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/DisturbedRoad/DisturbedRoad_Gravel/DisturbedRoad_Gravel.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/DisturbedRoad/DisturbedRoad_Gravel/DisturbedRoad_Gravel.java
new file mode 100644
index 0000000000000000000000000000000000000000..510dc3dcb84e97946a98cd78bdf55c4b1b5bfcdb
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/DisturbedRoad/DisturbedRoad_Gravel/DisturbedRoad_Gravel.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.DisturbedRoad.DisturbedRoad_Gravel;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class DisturbedRoad_Gravel extends ObjectType
+{
+    public DisturbedRoad_Gravel()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)4); // Disturbed Road
+        setSubCategory((byte)1); // Disturbed Road, Gravel
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/IndustrialProcessingPlant/OilRefinery/OilRefinery.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/IndustrialProcessingPlant/OilRefinery/OilRefinery.java
new file mode 100644
index 0000000000000000000000000000000000000000..2f0c893f39d85826c066a29d9556f059261c4289
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/IndustrialProcessingPlant/OilRefinery/OilRefinery.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.IndustrialProcessingPlant.OilRefinery;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class OilRefinery extends ObjectType
+{
+    public OilRefinery()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)13); // Industrial Processing Plant
+        setSubCategory((byte)1); // Oil Refinery 
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_Apartment/MOUTBuilding_Apartment.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_Apartment/MOUTBuilding_Apartment.java
new file mode 100644
index 0000000000000000000000000000000000000000..995ef25c270fd2aa1f650f684df8453aac3ae7e0
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_Apartment/MOUTBuilding_Apartment.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_Apartment;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class MOUTBuilding_Apartment extends ObjectType
+{
+    public MOUTBuilding_Apartment()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)7); // MOUT Building
+        setSubCategory((byte)12); // MOUT Building, Apartment
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_Church/MOUTBuilding_Church.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_Church/MOUTBuilding_Church.java
new file mode 100644
index 0000000000000000000000000000000000000000..3e07dab4d0f494bcec8e09d795e1ae22cea9ae5a
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_Church/MOUTBuilding_Church.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_Church;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class MOUTBuilding_Church extends ObjectType
+{
+    public MOUTBuilding_Church()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)7); // MOUT Building
+        setSubCategory((byte)14); // MOUT Building, Church
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_ControlTower/MOUTBuilding_ControlTower.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_ControlTower/MOUTBuilding_ControlTower.java
new file mode 100644
index 0000000000000000000000000000000000000000..f8fafa11318c38d458b0100a1a8562d6511dbedf
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_ControlTower/MOUTBuilding_ControlTower.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_ControlTower;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class MOUTBuilding_ControlTower extends ObjectType
+{
+    public MOUTBuilding_ControlTower()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)7); // MOUT Building
+        setSubCategory((byte)7); // MOUT Building, Control Tower
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_FarmHouse/MOUTBuilding_FarmHouse.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_FarmHouse/MOUTBuilding_FarmHouse.java
new file mode 100644
index 0000000000000000000000000000000000000000..e6893c9ec1f89371d536611d9d992ce160eb7eae
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_FarmHouse/MOUTBuilding_FarmHouse.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_FarmHouse;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class MOUTBuilding_FarmHouse extends ObjectType
+{
+    public MOUTBuilding_FarmHouse()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)7); // MOUT Building
+        setSubCategory((byte)15); // MOUT Building, Farm House
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_FireStation/MOUTBuilding_FireStation.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_FireStation/MOUTBuilding_FireStation.java
new file mode 100644
index 0000000000000000000000000000000000000000..9e8d1434eb76b5bb7a93ca24458af2bcd0520ea3
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_FireStation/MOUTBuilding_FireStation.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_FireStation;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class MOUTBuilding_FireStation extends ObjectType
+{
+    public MOUTBuilding_FireStation()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)7); // MOUT Building
+        setSubCategory((byte)10); // MOUT Building, Fire Station
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_GasStation/MOUTBuilding_GasStation.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_GasStation/MOUTBuilding_GasStation.java
new file mode 100644
index 0000000000000000000000000000000000000000..738ed9fb9010091370661a5f56ebf4b32b737e06
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_GasStation/MOUTBuilding_GasStation.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_GasStation;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class MOUTBuilding_GasStation extends ObjectType
+{
+    public MOUTBuilding_GasStation()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)7); // MOUT Building
+        setSubCategory((byte)3); // MOUT Building, Gas Station
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_Hospital/MOUTBuilding_Hospital.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_Hospital/MOUTBuilding_Hospital.java
new file mode 100644
index 0000000000000000000000000000000000000000..f0ac3d9fab31914b23e95493ae4f512986627051
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_Hospital/MOUTBuilding_Hospital.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_Hospital;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class MOUTBuilding_Hospital extends ObjectType
+{
+    public MOUTBuilding_Hospital()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)7); // MOUT Building
+        setSubCategory((byte)2); // MOUT Building, Hospital
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_House/MOUTBuilding_House.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_House/MOUTBuilding_House.java
new file mode 100644
index 0000000000000000000000000000000000000000..2f13bd04bbb6b1297f01136bc949ce8c482254fa
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_House/MOUTBuilding_House.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_House;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class MOUTBuilding_House extends ObjectType
+{
+    public MOUTBuilding_House()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)7); // MOUT Building
+        setSubCategory((byte)1); // MOUT Building, House
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_MudbrickHouse/MOUTBuilding_MudbrickHouse.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_MudbrickHouse/MOUTBuilding_MudbrickHouse.java
new file mode 100644
index 0000000000000000000000000000000000000000..1d1d64ba7d2770103084334f6f2cec42f5e62f8b
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_MudbrickHouse/MOUTBuilding_MudbrickHouse.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_MudbrickHouse;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class MOUTBuilding_MudbrickHouse extends ObjectType
+{
+    public MOUTBuilding_MudbrickHouse()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)7); // MOUT Building
+        setSubCategory((byte)16); // MOUT Building, Mudbrick House
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_MudbrickStore/MOUTBuilding_MudbrickStore.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_MudbrickStore/MOUTBuilding_MudbrickStore.java
new file mode 100644
index 0000000000000000000000000000000000000000..85d3566cf93760ec332209f5c35fcac895defd38
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_MudbrickStore/MOUTBuilding_MudbrickStore.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_MudbrickStore;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class MOUTBuilding_MudbrickStore extends ObjectType
+{
+    public MOUTBuilding_MudbrickStore()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)7); // MOUT Building
+        setSubCategory((byte)17); // MOUT Building, Mudbrick Store
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_OfficeBuilding/MOUTBuilding_OfficeBuilding.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_OfficeBuilding/MOUTBuilding_OfficeBuilding.java
new file mode 100644
index 0000000000000000000000000000000000000000..04b68ad7a4d35acc6149367753fe89ca2e82f3c1
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_OfficeBuilding/MOUTBuilding_OfficeBuilding.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_OfficeBuilding;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class MOUTBuilding_OfficeBuilding extends ObjectType
+{
+    public MOUTBuilding_OfficeBuilding()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)7); // MOUT Building
+        setSubCategory((byte)5); // MOUT Building, Office Building
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_PoliceStation/MOUTBuilding_PoliceStation.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_PoliceStation/MOUTBuilding_PoliceStation.java
new file mode 100644
index 0000000000000000000000000000000000000000..c132fd2f25fd342adeb804f9ecc91633594d9b6a
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_PoliceStation/MOUTBuilding_PoliceStation.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_PoliceStation;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class MOUTBuilding_PoliceStation extends ObjectType
+{
+    public MOUTBuilding_PoliceStation()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)7); // MOUT Building
+        setSubCategory((byte)9); // MOUT Building, Police Station
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_PowerStation/MOUTBuilding_PowerStation.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_PowerStation/MOUTBuilding_PowerStation.java
new file mode 100644
index 0000000000000000000000000000000000000000..e8be3ae8ae84fff5841734711b7f99c4df25c8cc
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_PowerStation/MOUTBuilding_PowerStation.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_PowerStation;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class MOUTBuilding_PowerStation extends ObjectType
+{
+    public MOUTBuilding_PowerStation()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)7); // MOUT Building
+        setSubCategory((byte)11); // MOUT Building, Power Station
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_School/MOUTBuilding_School.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_School/MOUTBuilding_School.java
new file mode 100644
index 0000000000000000000000000000000000000000..21006616f50f3100cfcd0f67fc5be3cbadaad2fd
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_School/MOUTBuilding_School.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_School;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class MOUTBuilding_School extends ObjectType
+{
+    public MOUTBuilding_School()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)7); // MOUT Building
+        setSubCategory((byte)13); // MOUT Building, School
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_Store/MOUTBuilding_Store.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_Store/MOUTBuilding_Store.java
new file mode 100644
index 0000000000000000000000000000000000000000..10988095795f0f7f9a00378367bf6ee1e09bfc60
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_Store/MOUTBuilding_Store.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_Store;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class MOUTBuilding_Store extends ObjectType
+{
+    public MOUTBuilding_Store()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)7); // MOUT Building
+        setSubCategory((byte)4); // MOUT Building, Store
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_Warehouse/MOUTBuilding_Warehouse.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_Warehouse/MOUTBuilding_Warehouse.java
new file mode 100644
index 0000000000000000000000000000000000000000..5b88e64403bf6db7fd95ae268ebf77d9a7ac4dee
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_Warehouse/MOUTBuilding_Warehouse.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_Warehouse;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class MOUTBuilding_Warehouse extends ObjectType
+{
+    public MOUTBuilding_Warehouse()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)7); // MOUT Building
+        setSubCategory((byte)6); // MOUT Building, Warehouse
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_WaterTower/MOUTBuilding_WaterTower.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_WaterTower/MOUTBuilding_WaterTower.java
new file mode 100644
index 0000000000000000000000000000000000000000..2bae29d09b69dc437536a61e763d72087bf4f283
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MOUTBuilding/MOUTBuilding_WaterTower/MOUTBuilding_WaterTower.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_WaterTower;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class MOUTBuilding_WaterTower extends ObjectType
+{
+    public MOUTBuilding_WaterTower()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)7); // MOUT Building
+        setSubCategory((byte)8); // MOUT Building, Water Tower
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MaintenanceStructure/LargeAreaMaintenanceShelterLAMSAviationMaintenanceAM/LargeAreaMaintenanceShelterLAMSAviationMaintenanceAM.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MaintenanceStructure/LargeAreaMaintenanceShelterLAMSAviationMaintenanceAM/LargeAreaMaintenanceShelterLAMSAviationMaintenanceAM.java
new file mode 100644
index 0000000000000000000000000000000000000000..61566453fad25fd63d66ddb30872421a32cec2ae
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MaintenanceStructure/LargeAreaMaintenanceShelterLAMSAviationMaintenanceAM/LargeAreaMaintenanceShelterLAMSAviationMaintenanceAM.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MaintenanceStructure.LargeAreaMaintenanceShelterLAMSAviationMaintenanceAM;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class LargeAreaMaintenanceShelterLAMSAviationMaintenanceAM extends ObjectType
+{
+    public LargeAreaMaintenanceShelterLAMSAviationMaintenanceAM()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)6); // Maintenance Structure
+        setSubCategory((byte)4); // Large Area Maintenance Shelter (LAMS) Aviation Maintenance (AM)
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MaintenanceStructure/LargeAreaMaintenanceShelterLAMSVehicleMaintenanceVM/LargeAreaMaintenanceShelterLAMSVehicleMaintenanceVM.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MaintenanceStructure/LargeAreaMaintenanceShelterLAMSVehicleMaintenanceVM/LargeAreaMaintenanceShelterLAMSVehicleMaintenanceVM.java
new file mode 100644
index 0000000000000000000000000000000000000000..3fb15d020a42988d4c4a9eb6d7e6ab1d5c78310e
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MaintenanceStructure/LargeAreaMaintenanceShelterLAMSVehicleMaintenanceVM/LargeAreaMaintenanceShelterLAMSVehicleMaintenanceVM.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MaintenanceStructure.LargeAreaMaintenanceShelterLAMSVehicleMaintenanceVM;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class LargeAreaMaintenanceShelterLAMSVehicleMaintenanceVM extends ObjectType
+{
+    public LargeAreaMaintenanceShelterLAMSVehicleMaintenanceVM()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)6); // Maintenance Structure
+        setSubCategory((byte)3); // Large Area Maintenance Shelter (LAMS) Vehicle Maintenance (VM)
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MaintenanceStructure/LightweightMaintenanceEnclosureLME_Bradley/LightweightMaintenanceEnclosureLME_Bradley.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MaintenanceStructure/LightweightMaintenanceEnclosureLME_Bradley/LightweightMaintenanceEnclosureLME_Bradley.java
new file mode 100644
index 0000000000000000000000000000000000000000..9dc67ace8c0d29be76a5db9541bea5e4fae61638
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MaintenanceStructure/LightweightMaintenanceEnclosureLME_Bradley/LightweightMaintenanceEnclosureLME_Bradley.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MaintenanceStructure.LightweightMaintenanceEnclosureLME_Bradley;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class LightweightMaintenanceEnclosureLME_Bradley extends ObjectType
+{
+    public LightweightMaintenanceEnclosureLME_Bradley()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)6); // Maintenance Structure
+        setSubCategory((byte)1); // Lightweight Maintenance Enclosure (LME), Bradley
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MaintenanceStructure/LightweightMaintenanceEnclosureLME_M1/LightweightMaintenanceEnclosureLME_M1.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MaintenanceStructure/LightweightMaintenanceEnclosureLME_M1/LightweightMaintenanceEnclosureLME_M1.java
new file mode 100644
index 0000000000000000000000000000000000000000..a2e2c61f491f83800804d7cd832957b496a9beb5
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/MaintenanceStructure/LightweightMaintenanceEnclosureLME_M1/LightweightMaintenanceEnclosureLME_M1.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MaintenanceStructure.LightweightMaintenanceEnclosureLME_M1;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class LightweightMaintenanceEnclosureLME_M1 extends ObjectType
+{
+    public LightweightMaintenanceEnclosureLME_M1()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)6); // Maintenance Structure
+        setSubCategory((byte)2); // Lightweight Maintenance Enclosure (LME), M1
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Pump/Pump_Gas/Pump_Gas.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Pump/Pump_Gas/Pump_Gas.java
new file mode 100644
index 0000000000000000000000000000000000000000..2750b829c50815732e7a5c05e0ca5e5f43925c29
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Pump/Pump_Gas/Pump_Gas.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Pump.Pump_Gas;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Pump_Gas extends ObjectType
+{
+    public Pump_Gas()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)12); // Pump
+        setSubCategory((byte)1); // Pump, Gas
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tent/Tent_Arctic/Tent_Arctic.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tent/Tent_Arctic/Tent_Arctic.java
new file mode 100644
index 0000000000000000000000000000000000000000..edc762622784fd1dbef111a04e956f112c6ceff0
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tent/Tent_Arctic/Tent_Arctic.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tent.Tent_Arctic;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Tent_Arctic extends ObjectType
+{
+    public Tent_Arctic()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)5); // Tent
+        setSubCategory((byte)5); // Tent, Arctic
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tent/Tent_Bedouin/Tent_Bedouin.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tent/Tent_Bedouin/Tent_Bedouin.java
new file mode 100644
index 0000000000000000000000000000000000000000..65ef0cf432c5bb09e39e21309a47898acc7f47bd
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tent/Tent_Bedouin/Tent_Bedouin.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tent.Tent_Bedouin;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Tent_Bedouin extends ObjectType
+{
+    public Tent_Bedouin()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)5); // Tent
+        setSubCategory((byte)9); // Tent, Bedouin
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tent/Tent_ChemicallyandBiologicalProtectedShelterCBPS/Tent_ChemicallyandBiologicalProtectedShelterCBPS.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tent/Tent_ChemicallyandBiologicalProtectedShelterCBPS/Tent_ChemicallyandBiologicalProtectedShelterCBPS.java
new file mode 100644
index 0000000000000000000000000000000000000000..61b55c491673d821b453656f66e29bc1a37428ba
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tent/Tent_ChemicallyandBiologicalProtectedShelterCBPS/Tent_ChemicallyandBiologicalProtectedShelterCBPS.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tent.Tent_ChemicallyandBiologicalProtectedShelterCBPS;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Tent_ChemicallyandBiologicalProtectedShelterCBPS extends ObjectType
+{
+    public Tent_ChemicallyandBiologicalProtectedShelterCBPS()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)5); // Tent
+        setSubCategory((byte)10); // Tent, Chemically and Biological Protected Shelter (CBPS)
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tent/Tent_ExpandableFrame/Tent_ExpandableFrame.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tent/Tent_ExpandableFrame/Tent_ExpandableFrame.java
new file mode 100644
index 0000000000000000000000000000000000000000..4ae40e4b0c972e739867023f922b98ed1007e9c5
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tent/Tent_ExpandableFrame/Tent_ExpandableFrame.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tent.Tent_ExpandableFrame;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Tent_ExpandableFrame extends ObjectType
+{
+    public Tent_ExpandableFrame()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)5); // Tent
+        setSubCategory((byte)7); // Tent, Expandable Frame
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tent/Tent_Fritsche/Tent_Fritsche.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tent/Tent_Fritsche/Tent_Fritsche.java
new file mode 100644
index 0000000000000000000000000000000000000000..ae3a701cf854baefd0fe7e468a1fe761337ff856
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tent/Tent_Fritsche/Tent_Fritsche.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tent.Tent_Fritsche;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Tent_Fritsche extends ObjectType
+{
+    public Tent_Fritsche()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)5); // Tent
+        setSubCategory((byte)8); // Tent, Fritsche
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tent/Tent_Kuchi/Tent_Kuchi.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tent/Tent_Kuchi/Tent_Kuchi.java
new file mode 100644
index 0000000000000000000000000000000000000000..3d59f740dd9b88c13fdb75b061dd88e0f22a9bc4
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tent/Tent_Kuchi/Tent_Kuchi.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tent.Tent_Kuchi;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Tent_Kuchi extends ObjectType
+{
+    public Tent_Kuchi()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)5); // Tent
+        setSubCategory((byte)11); // Tent, Kuchi
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tent/Tent_Large/Tent_Large.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tent/Tent_Large/Tent_Large.java
new file mode 100644
index 0000000000000000000000000000000000000000..9e824ad59e9d2a6ea9913d3cf7d69ce1d48f80d4
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tent/Tent_Large/Tent_Large.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tent.Tent_Large;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Tent_Large extends ObjectType
+{
+    public Tent_Large()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)5); // Tent
+        setSubCategory((byte)3); // Tent, Large
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tent/Tent_Medium/Tent_Medium.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tent/Tent_Medium/Tent_Medium.java
new file mode 100644
index 0000000000000000000000000000000000000000..a067ad95ef02dffb2d6dfdb99c9e8196ac2119d9
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tent/Tent_Medium/Tent_Medium.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tent.Tent_Medium;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Tent_Medium extends ObjectType
+{
+    public Tent_Medium()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)5); // Tent
+        setSubCategory((byte)2); // Tent, Medium
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tent/Tent_ModularGeneralPurposeTentSystemMGPTS/Tent_ModularGeneralPurposeTentSystemMGPTS.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tent/Tent_ModularGeneralPurposeTentSystemMGPTS/Tent_ModularGeneralPurposeTentSystemMGPTS.java
new file mode 100644
index 0000000000000000000000000000000000000000..5965900796e2552f0fbf019c31176296a1b5f98a
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tent/Tent_ModularGeneralPurposeTentSystemMGPTS/Tent_ModularGeneralPurposeTentSystemMGPTS.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tent.Tent_ModularGeneralPurposeTentSystemMGPTS;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Tent_ModularGeneralPurposeTentSystemMGPTS extends ObjectType
+{
+    public Tent_ModularGeneralPurposeTentSystemMGPTS()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)5); // Tent
+        setSubCategory((byte)4); // Tent, Modular General Purpose Tent System (MGPTS)
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tent/Tent_Small/Tent_Small.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tent/Tent_Small/Tent_Small.java
new file mode 100644
index 0000000000000000000000000000000000000000..16be6ab06e76a10222b8af30302679c4512bbfe7
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tent/Tent_Small/Tent_Small.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tent.Tent_Small;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Tent_Small extends ObjectType
+{
+    public Tent_Small()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)5); // Tent
+        setSubCategory((byte)1); // Tent, Small
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tent/Tent_TEMPER/Tent_TEMPER.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tent/Tent_TEMPER/Tent_TEMPER.java
new file mode 100644
index 0000000000000000000000000000000000000000..c510559e1cdb9bb10c5af92a348d83cf0384d7a8
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tent/Tent_TEMPER/Tent_TEMPER.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tent.Tent_TEMPER;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Tent_TEMPER extends ObjectType
+{
+    public Tent_TEMPER()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)5); // Tent
+        setSubCategory((byte)6); // Tent, TEMPER
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tree_Deciduous/Tree_Deciduous_Large/Tree_Deciduous_Large.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tree_Deciduous/Tree_Deciduous_Large/Tree_Deciduous_Large.java
new file mode 100644
index 0000000000000000000000000000000000000000..1746f7250c8d1e51a112b599b15bd9fbbc40a51f
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tree_Deciduous/Tree_Deciduous_Large/Tree_Deciduous_Large.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tree_Deciduous.Tree_Deciduous_Large;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Tree_Deciduous_Large extends ObjectType
+{
+    public Tree_Deciduous_Large()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)10); // Tree, Deciduous
+        setSubCategory((byte)3); // Tree, Deciduous, Large
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tree_Deciduous/Tree_Deciduous_Medium/Tree_Deciduous_Medium.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tree_Deciduous/Tree_Deciduous_Medium/Tree_Deciduous_Medium.java
new file mode 100644
index 0000000000000000000000000000000000000000..b111fefc0f7b4919e8eb76a29132587d50660d2b
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tree_Deciduous/Tree_Deciduous_Medium/Tree_Deciduous_Medium.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tree_Deciduous.Tree_Deciduous_Medium;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Tree_Deciduous_Medium extends ObjectType
+{
+    public Tree_Deciduous_Medium()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)10); // Tree, Deciduous
+        setSubCategory((byte)2); // Tree, Deciduous, Medium
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tree_Deciduous/Tree_Deciduous_Small/Tree_Deciduous_Small.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tree_Deciduous/Tree_Deciduous_Small/Tree_Deciduous_Small.java
new file mode 100644
index 0000000000000000000000000000000000000000..c006f1ee2a7a2ff7c7a4975f885239e1e5ef9e3b
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tree_Deciduous/Tree_Deciduous_Small/Tree_Deciduous_Small.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tree_Deciduous.Tree_Deciduous_Small;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Tree_Deciduous_Small extends ObjectType
+{
+    public Tree_Deciduous_Small()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)10); // Tree, Deciduous
+        setSubCategory((byte)1); // Tree, Deciduous, Small
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tree_Evergreen/Tree_Evergreen_Large/Tree_Evergreen_Large.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tree_Evergreen/Tree_Evergreen_Large/Tree_Evergreen_Large.java
new file mode 100644
index 0000000000000000000000000000000000000000..3bc10fb0e656ca4ed67eb2064deeb4c8808d716d
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tree_Evergreen/Tree_Evergreen_Large/Tree_Evergreen_Large.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tree_Evergreen.Tree_Evergreen_Large;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Tree_Evergreen_Large extends ObjectType
+{
+    public Tree_Evergreen_Large()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)11); // Tree, Evergreen
+        setSubCategory((byte)3); // Tree, Evergreen, Large
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tree_Evergreen/Tree_Evergreen_Medium/Tree_Evergreen_Medium.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tree_Evergreen/Tree_Evergreen_Medium/Tree_Evergreen_Medium.java
new file mode 100644
index 0000000000000000000000000000000000000000..bab07ed63a3c281b94793123ef0e3a803d19c378
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tree_Evergreen/Tree_Evergreen_Medium/Tree_Evergreen_Medium.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tree_Evergreen.Tree_Evergreen_Medium;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Tree_Evergreen_Medium extends ObjectType
+{
+    public Tree_Evergreen_Medium()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)11); // Tree, Evergreen
+        setSubCategory((byte)2); // Tree, Evergreen, Medium
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tree_Evergreen/Tree_Evergreen_Small/Tree_Evergreen_Small.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tree_Evergreen/Tree_Evergreen_Small/Tree_Evergreen_Small.java
new file mode 100644
index 0000000000000000000000000000000000000000..c890fbfa5624fd32528116d395be725db8805a15
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Culturalfeature/Tree_Evergreen/Tree_Evergreen_Small/Tree_Evergreen_Small.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tree_Evergreen.Tree_Evergreen_Small;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Tree_Evergreen_Small extends ObjectType
+{
+    public Tree_Evergreen_Small()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(3)); // Cultural feature
+        setCategory((byte)11); // Tree, Evergreen
+        setSubCategory((byte)1); // Tree, Evergreen, Small
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/EnvironmentalObject/Flood/Flood_Large/Flood_Large.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/EnvironmentalObject/Flood/Flood_Large/Flood_Large.java
new file mode 100644
index 0000000000000000000000000000000000000000..b70826a9c140c19f14bb6eb9a74c90a0249c3ab9
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/EnvironmentalObject/Flood/Flood_Large/Flood_Large.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.EnvironmentalObject.Flood.Flood_Large;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Flood_Large extends ObjectType
+{
+    public Flood_Large()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(8)); // Environmental Object
+        setCategory((byte)1); // Flood
+        setSubCategory((byte)3); // Flood, Large
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/EnvironmentalObject/Flood/Flood_Medium/Flood_Medium.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/EnvironmentalObject/Flood/Flood_Medium/Flood_Medium.java
new file mode 100644
index 0000000000000000000000000000000000000000..2aa6e56fe18e235cfa4c62a9639b14df21e27c98
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/EnvironmentalObject/Flood/Flood_Medium/Flood_Medium.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.EnvironmentalObject.Flood.Flood_Medium;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Flood_Medium extends ObjectType
+{
+    public Flood_Medium()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(8)); // Environmental Object
+        setCategory((byte)1); // Flood
+        setSubCategory((byte)2); // Flood, Medium
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/EnvironmentalObject/Flood/Flood_Small/Flood_Small.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/EnvironmentalObject/Flood/Flood_Small/Flood_Small.java
new file mode 100644
index 0000000000000000000000000000000000000000..23dc41b9448d61ee5f1a501a868156c32f73a1a3
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/EnvironmentalObject/Flood/Flood_Small/Flood_Small.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.EnvironmentalObject.Flood.Flood_Small;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Flood_Small extends ObjectType
+{
+    public Flood_Small()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(8)); // Environmental Object
+        setCategory((byte)1); // Flood
+        setSubCategory((byte)1); // Flood, Small
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Abatis/Other/Other.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Abatis/Other/Other.java
new file mode 100644
index 0000000000000000000000000000000000000000..8c056f27ea7224cd4428efb293f51c469f7da710
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Abatis/Other/Other.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Abatis.Other;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Other extends ObjectType
+{
+    public Other()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(1)); // Obstacle
+        setCategory((byte)1); // Abatis
+        setSubCategory((byte)0); // Other
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Abatis/_14Tree/_14Tree.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Abatis/_14Tree/_14Tree.java
new file mode 100644
index 0000000000000000000000000000000000000000..8fcb1c266b8ccdabebe59bdbf3fc60bfbac4ef3a
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Abatis/_14Tree/_14Tree.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Abatis._14Tree;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class _14Tree extends ObjectType
+{
+    public _14Tree()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(1)); // Obstacle
+        setCategory((byte)1); // Abatis
+        setSubCategory((byte)2); // 14 Tree
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Abatis/_8Tree/_8Tree.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Abatis/_8Tree/_8Tree.java
new file mode 100644
index 0000000000000000000000000000000000000000..e24aa3757efd8a0d3f172196eaa3e0986f2564c4
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Abatis/_8Tree/_8Tree.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Abatis._8Tree;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class _8Tree extends ObjectType
+{
+    public _8Tree()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(1)); // Obstacle
+        setCategory((byte)1); // Abatis
+        setSubCategory((byte)1); // 8 Tree
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Barrier/Barrier_Construction/Barrier_Construction.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Barrier/Barrier_Construction/Barrier_Construction.java
new file mode 100644
index 0000000000000000000000000000000000000000..5cb9d26aa543e5855145e663f48d1c33e991c0a1
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Barrier/Barrier_Construction/Barrier_Construction.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Barrier.Barrier_Construction;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Barrier_Construction extends ObjectType
+{
+    public Barrier_Construction()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(1)); // Obstacle
+        setCategory((byte)4); // Barrier
+        setSubCategory((byte)6); // Barrier, Construction
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Barrier/Barrier_Fence_Chain_6_foot/Barrier_Fence_Chain_6_foot.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Barrier/Barrier_Fence_Chain_6_foot/Barrier_Fence_Chain_6_foot.java
new file mode 100644
index 0000000000000000000000000000000000000000..7e397705d5c78e979622ecc31f4cce243d1801f6
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Barrier/Barrier_Fence_Chain_6_foot/Barrier_Fence_Chain_6_foot.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Barrier.Barrier_Fence_Chain_6_foot;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Barrier_Fence_Chain_6_foot extends ObjectType
+{
+    public Barrier_Fence_Chain_6_foot()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(1)); // Obstacle
+        setCategory((byte)4); // Barrier
+        setSubCategory((byte)8); // Barrier, Fence, Chain, 6-foot
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Barrier/Barrier_Fence_Wood_6_foot/Barrier_Fence_Wood_6_foot.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Barrier/Barrier_Fence_Wood_6_foot/Barrier_Fence_Wood_6_foot.java
new file mode 100644
index 0000000000000000000000000000000000000000..900fd955c58c81bb4e1344fef3fa124720844cfb
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Barrier/Barrier_Fence_Wood_6_foot/Barrier_Fence_Wood_6_foot.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Barrier.Barrier_Fence_Wood_6_foot;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Barrier_Fence_Wood_6_foot extends ObjectType
+{
+    public Barrier_Fence_Wood_6_foot()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(1)); // Obstacle
+        setCategory((byte)4); // Barrier
+        setSubCategory((byte)9); // Barrier, Fence, Wood, 6-foot
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Barrier/Barrier_HESCOBasket_Double_Stacked/Barrier_HESCOBasket_Double_Stacked.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Barrier/Barrier_HESCOBasket_Double_Stacked/Barrier_HESCOBasket_Double_Stacked.java
new file mode 100644
index 0000000000000000000000000000000000000000..e191300635f4819aa9368cd5d312270e5f9d77ec
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Barrier/Barrier_HESCOBasket_Double_Stacked/Barrier_HESCOBasket_Double_Stacked.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Barrier.Barrier_HESCOBasket_Double_Stacked;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Barrier_HESCOBasket_Double_Stacked extends ObjectType
+{
+    public Barrier_HESCOBasket_Double_Stacked()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(1)); // Obstacle
+        setCategory((byte)4); // Barrier
+        setSubCategory((byte)5); // Barrier, HESCO Basket, Double-Stacked
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Barrier/Barrier_HESCOBasket_Large/Barrier_HESCOBasket_Large.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Barrier/Barrier_HESCOBasket_Large/Barrier_HESCOBasket_Large.java
new file mode 100644
index 0000000000000000000000000000000000000000..6d86f2b0551d3a2ddfbf7fa77593ad2a0cf696cc
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Barrier/Barrier_HESCOBasket_Large/Barrier_HESCOBasket_Large.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Barrier.Barrier_HESCOBasket_Large;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Barrier_HESCOBasket_Large extends ObjectType
+{
+    public Barrier_HESCOBasket_Large()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(1)); // Obstacle
+        setCategory((byte)4); // Barrier
+        setSubCategory((byte)4); // Barrier, HESCO Basket, Large
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Barrier/Barrier_HESCOBasket_Medium/Barrier_HESCOBasket_Medium.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Barrier/Barrier_HESCOBasket_Medium/Barrier_HESCOBasket_Medium.java
new file mode 100644
index 0000000000000000000000000000000000000000..be9cbd05505dc88029afdb462f64e3e89847deef
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Barrier/Barrier_HESCOBasket_Medium/Barrier_HESCOBasket_Medium.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Barrier.Barrier_HESCOBasket_Medium;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Barrier_HESCOBasket_Medium extends ObjectType
+{
+    public Barrier_HESCOBasket_Medium()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(1)); // Obstacle
+        setCategory((byte)4); // Barrier
+        setSubCategory((byte)3); // Barrier, HESCO Basket, Medium
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Barrier/Barrier_HESCOBasket_Small/Barrier_HESCOBasket_Small.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Barrier/Barrier_HESCOBasket_Small/Barrier_HESCOBasket_Small.java
new file mode 100644
index 0000000000000000000000000000000000000000..2b79262e4e73eba5878a1f10376eaccdb1dbe40c
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Barrier/Barrier_HESCOBasket_Small/Barrier_HESCOBasket_Small.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Barrier.Barrier_HESCOBasket_Small;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Barrier_HESCOBasket_Small extends ObjectType
+{
+    public Barrier_HESCOBasket_Small()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(1)); // Obstacle
+        setCategory((byte)4); // Barrier
+        setSubCategory((byte)2); // Barrier, HESCO Basket, Small
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Barrier/Barrier_Jersey_Plastic/Barrier_Jersey_Plastic.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Barrier/Barrier_Jersey_Plastic/Barrier_Jersey_Plastic.java
new file mode 100644
index 0000000000000000000000000000000000000000..db82ee01a364368776a81f99c2c4f90757c04c31
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Barrier/Barrier_Jersey_Plastic/Barrier_Jersey_Plastic.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Barrier.Barrier_Jersey_Plastic;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Barrier_Jersey_Plastic extends ObjectType
+{
+    public Barrier_Jersey_Plastic()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(1)); // Obstacle
+        setCategory((byte)4); // Barrier
+        setSubCategory((byte)7); // Barrier, Jersey, Plastic
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Barrier/Barrier_Texas/Barrier_Texas.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Barrier/Barrier_Texas/Barrier_Texas.java
new file mode 100644
index 0000000000000000000000000000000000000000..d6b8d39c3998c6e08cc770e1c739030d2105d583
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Barrier/Barrier_Texas/Barrier_Texas.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Barrier.Barrier_Texas;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Barrier_Texas extends ObjectType
+{
+    public Barrier_Texas()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(1)); // Obstacle
+        setCategory((byte)4); // Barrier
+        setSubCategory((byte)10); // Barrier, Texas
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Barrier/DragonsTeeth/DragonsTeeth.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Barrier/DragonsTeeth/DragonsTeeth.java
new file mode 100644
index 0000000000000000000000000000000000000000..962689717a88094820e9b14b837464f453f7fe65
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Barrier/DragonsTeeth/DragonsTeeth.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Barrier.DragonsTeeth;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class DragonsTeeth extends ObjectType
+{
+    public DragonsTeeth()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(1)); // Obstacle
+        setCategory((byte)4); // Barrier
+        setSubCategory((byte)1); // Dragon’s Teeth
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Crater/Large/Large.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Crater/Large/Large.java
new file mode 100644
index 0000000000000000000000000000000000000000..ec1b1a0297c8437a24d64620c4d20656a1fe7036
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Crater/Large/Large.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Crater.Large;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Large extends ObjectType
+{
+    public Large()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(1)); // Obstacle
+        setCategory((byte)3); // Crater
+        setSubCategory((byte)3); // Large
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Crater/Medium/Medium.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Crater/Medium/Medium.java
new file mode 100644
index 0000000000000000000000000000000000000000..015c7d9cba2e4f69c648a086ac477fdb41ff04aa
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Crater/Medium/Medium.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Crater.Medium;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Medium extends ObjectType
+{
+    public Medium()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(1)); // Obstacle
+        setCategory((byte)3); // Crater
+        setSubCategory((byte)2); // Medium
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Crater/Other/Other.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Crater/Other/Other.java
new file mode 100644
index 0000000000000000000000000000000000000000..1947a6f4d704336b28ee5d7830ba00e869318852
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Crater/Other/Other.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Crater.Other;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Other extends ObjectType
+{
+    public Other()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(1)); // Obstacle
+        setCategory((byte)3); // Crater
+        setSubCategory((byte)0); // Other
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Crater/Small/Small.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Crater/Small/Small.java
new file mode 100644
index 0000000000000000000000000000000000000000..bb13e83462e4274bb671dd7fe3a57bc1aa41856c
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/Crater/Small/Small.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Crater.Small;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Small extends ObjectType
+{
+    public Small()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(1)); // Obstacle
+        setCategory((byte)3); // Crater
+        setSubCategory((byte)1); // Small
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/LogCrib/Other/Other.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/LogCrib/Other/Other.java
new file mode 100644
index 0000000000000000000000000000000000000000..5ed40c2fb0659b5d83d7ebb20d992e452bc68243
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/LogCrib/Other/Other.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.LogCrib.Other;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Other extends ObjectType
+{
+    public Other()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(1)); // Obstacle
+        setCategory((byte)2); // Log Crib
+        setSubCategory((byte)0); // Other
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/LogCrib/Rectangular/Rectangular.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/LogCrib/Rectangular/Rectangular.java
new file mode 100644
index 0000000000000000000000000000000000000000..c2f6810dc88478046adb5036033afbce9e04ba75
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/LogCrib/Rectangular/Rectangular.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.LogCrib.Rectangular;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Rectangular extends ObjectType
+{
+    public Rectangular()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(1)); // Obstacle
+        setCategory((byte)2); // Log Crib
+        setSubCategory((byte)1); // Rectangular
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/LogCrib/Triangular/Triangular.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/LogCrib/Triangular/Triangular.java
new file mode 100644
index 0000000000000000000000000000000000000000..94dd0d44552aff534a0229a024b3f39bff00ae3e
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/LogCrib/Triangular/Triangular.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.LogCrib.Triangular;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Triangular extends ObjectType
+{
+    public Triangular()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(1)); // Obstacle
+        setCategory((byte)2); // Log Crib
+        setSubCategory((byte)2); // Triangular
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/RockDrop/RockDrop_Covered/RockDrop_Covered.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/RockDrop/RockDrop_Covered/RockDrop_Covered.java
new file mode 100644
index 0000000000000000000000000000000000000000..4355c911e86260e4349b8298ea3ecad8f93e67ab
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/RockDrop/RockDrop_Covered/RockDrop_Covered.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.RockDrop.RockDrop_Covered;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class RockDrop_Covered extends ObjectType
+{
+    public RockDrop_Covered()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(1)); // Obstacle
+        setCategory((byte)5); // Rock Drop
+        setSubCategory((byte)1); // Rock Drop, Covered
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/RockDrop/RockDrop_Uncovered/RockDrop_Uncovered.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/RockDrop/RockDrop_Uncovered/RockDrop_Uncovered.java
new file mode 100644
index 0000000000000000000000000000000000000000..e211db4ef0ae9f571c6f427279b7ee6dfadca2f9
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Obstacle/RockDrop/RockDrop_Uncovered/RockDrop_Uncovered.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.RockDrop.RockDrop_Uncovered;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class RockDrop_Uncovered extends ObjectType
+{
+    public RockDrop_Uncovered()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(1)); // Obstacle
+        setCategory((byte)5); // Rock Drop
+        setSubCategory((byte)2); // Rock Drop, Uncovered
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Passageway/AVLB/JointAssaultBridgeJAB/JointAssaultBridgeJAB.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Passageway/AVLB/JointAssaultBridgeJAB/JointAssaultBridgeJAB.java
new file mode 100644
index 0000000000000000000000000000000000000000..aa157ab342bcf675faa090ca1ca7f7767c475e27
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Passageway/AVLB/JointAssaultBridgeJAB/JointAssaultBridgeJAB.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Passageway.AVLB.JointAssaultBridgeJAB;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class JointAssaultBridgeJAB extends ObjectType
+{
+    public JointAssaultBridgeJAB()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(4)); // Passageway
+        setCategory((byte)2); // AVLB
+        setSubCategory((byte)3); // Joint Assault Bridge (JAB)
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Passageway/AVLB/M60A1/M60A1.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Passageway/AVLB/M60A1/M60A1.java
new file mode 100644
index 0000000000000000000000000000000000000000..6bdb406c76773ed09f897327b1f6c0a63324e571
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Passageway/AVLB/M60A1/M60A1.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Passageway.AVLB.M60A1;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class M60A1 extends ObjectType
+{
+    public M60A1()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(4)); // Passageway
+        setCategory((byte)2); // AVLB
+        setSubCategory((byte)1); // M60A1
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Passageway/AVLB/MTU20/MTU20.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Passageway/AVLB/MTU20/MTU20.java
new file mode 100644
index 0000000000000000000000000000000000000000..b5e12ecd193e1977008d591835c4d0bbe518af2a
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Passageway/AVLB/MTU20/MTU20.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Passageway.AVLB.MTU20;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class MTU20 extends ObjectType
+{
+    public MTU20()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(4)); // Passageway
+        setCategory((byte)2); // AVLB
+        setSubCategory((byte)2); // MTU20
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Passageway/AVLB/Other/Other.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Passageway/AVLB/Other/Other.java
new file mode 100644
index 0000000000000000000000000000000000000000..f2b03b04fafb52c90fe1bf39dea300090c7dd4b8
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Passageway/AVLB/Other/Other.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Passageway.AVLB.Other;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Other extends ObjectType
+{
+    public Other()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(4)); // Passageway
+        setCategory((byte)2); // AVLB
+        setSubCategory((byte)0); // Other
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Passageway/RibbonBridge/Other/Other.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Passageway/RibbonBridge/Other/Other.java
new file mode 100644
index 0000000000000000000000000000000000000000..ae9419cbdc5b074ea266b88d7564dd8f87bdd44e
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Passageway/RibbonBridge/Other/Other.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Passageway.RibbonBridge.Other;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Other extends ObjectType
+{
+    public Other()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(4)); // Passageway
+        setCategory((byte)3); // Ribbon Bridge
+        setSubCategory((byte)0); // Other
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Passageway/RibbonBridge/_2_Lane/_2_Lane.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Passageway/RibbonBridge/_2_Lane/_2_Lane.java
new file mode 100644
index 0000000000000000000000000000000000000000..27285dc8b61ae4ea44040fbad64eb7159d99b194
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Passageway/RibbonBridge/_2_Lane/_2_Lane.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Passageway.RibbonBridge._2_Lane;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class _2_Lane extends ObjectType
+{
+    public _2_Lane()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(4)); // Passageway
+        setCategory((byte)3); // Ribbon Bridge
+        setSubCategory((byte)1); // 2-Lane
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Passageway/RibbonBridge/_4_Lane/_4_Lane.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Passageway/RibbonBridge/_4_Lane/_4_Lane.java
new file mode 100644
index 0000000000000000000000000000000000000000..2ee263eead6958de250abb87389bc94f2506da7e
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Passageway/RibbonBridge/_4_Lane/_4_Lane.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Passageway.RibbonBridge._4_Lane;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class _4_Lane extends ObjectType
+{
+    public _4_Lane()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(4)); // Passageway
+        setCategory((byte)3); // Ribbon Bridge
+        setSubCategory((byte)2); // 4-Lane
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Passageway/StationaryBridge/Other/Other.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Passageway/StationaryBridge/Other/Other.java
new file mode 100644
index 0000000000000000000000000000000000000000..ef7f3ec367691091696b6c1efefa18914d591c33
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Passageway/StationaryBridge/Other/Other.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Passageway.StationaryBridge.Other;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Other extends ObjectType
+{
+    public Other()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(4)); // Passageway
+        setCategory((byte)1); // Stationary Bridge
+        setSubCategory((byte)0); // Other
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Passageway/StationaryBridge/_2_Lane/_2_Lane.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Passageway/StationaryBridge/_2_Lane/_2_Lane.java
new file mode 100644
index 0000000000000000000000000000000000000000..774d352bb30de54806104eff3808d3580f18b7a9
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Passageway/StationaryBridge/_2_Lane/_2_Lane.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Passageway.StationaryBridge._2_Lane;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class _2_Lane extends ObjectType
+{
+    public _2_Lane()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(4)); // Passageway
+        setCategory((byte)1); // Stationary Bridge
+        setSubCategory((byte)1); // 2-Lane
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Passageway/StationaryBridge/_4_Lane/_4_Lane.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Passageway/StationaryBridge/_4_Lane/_4_Lane.java
new file mode 100644
index 0000000000000000000000000000000000000000..ad087961a06a80811067deabb0755403838ac225
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Passageway/StationaryBridge/_4_Lane/_4_Lane.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Passageway.StationaryBridge._4_Lane;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class _4_Lane extends ObjectType
+{
+    public _4_Lane()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(4)); // Passageway
+        setCategory((byte)1); // Stationary Bridge
+        setSubCategory((byte)2); // 4-Lane
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Preparedposition/InfantryFightingPosition/CoveredMachineGunBunker/CoveredMachineGunBunker.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Preparedposition/InfantryFightingPosition/CoveredMachineGunBunker/CoveredMachineGunBunker.java
new file mode 100644
index 0000000000000000000000000000000000000000..fc27c52c8729feea3ca3d0d9334da1b77ee2cee9
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Preparedposition/InfantryFightingPosition/CoveredMachineGunBunker/CoveredMachineGunBunker.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Preparedposition.InfantryFightingPosition.CoveredMachineGunBunker;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class CoveredMachineGunBunker extends ObjectType
+{
+    public CoveredMachineGunBunker()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(2)); // Prepared position
+        setCategory((byte)2); // Infantry Fighting Position
+        setSubCategory((byte)1); // Covered Machine Gun Bunker
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Preparedposition/InfantryFightingPosition/HastyFightingPosition/HastyFightingPosition.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Preparedposition/InfantryFightingPosition/HastyFightingPosition/HastyFightingPosition.java
new file mode 100644
index 0000000000000000000000000000000000000000..01a3916ebe521de46d9b969838e7235e14550ea0
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Preparedposition/InfantryFightingPosition/HastyFightingPosition/HastyFightingPosition.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Preparedposition.InfantryFightingPosition.HastyFightingPosition;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class HastyFightingPosition extends ObjectType
+{
+    public HastyFightingPosition()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(2)); // Prepared position
+        setCategory((byte)2); // Infantry Fighting Position
+        setSubCategory((byte)5); // Hasty Fighting Position
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Preparedposition/InfantryFightingPosition/Non_CoveredInfantryPosition/Non_CoveredInfantryPosition.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Preparedposition/InfantryFightingPosition/Non_CoveredInfantryPosition/Non_CoveredInfantryPosition.java
new file mode 100644
index 0000000000000000000000000000000000000000..8cd4d6de73fe87131e502639de09d833c3853909
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Preparedposition/InfantryFightingPosition/Non_CoveredInfantryPosition/Non_CoveredInfantryPosition.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Preparedposition.InfantryFightingPosition.Non_CoveredInfantryPosition;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Non_CoveredInfantryPosition extends ObjectType
+{
+    public Non_CoveredInfantryPosition()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(2)); // Prepared position
+        setCategory((byte)2); // Infantry Fighting Position
+        setSubCategory((byte)3); // Non-Covered Infantry Position
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Preparedposition/InfantryFightingPosition/Non_CoveredMachineGunBunker/Non_CoveredMachineGunBunker.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Preparedposition/InfantryFightingPosition/Non_CoveredMachineGunBunker/Non_CoveredMachineGunBunker.java
new file mode 100644
index 0000000000000000000000000000000000000000..38db9665418134abfc73bf7490ddd8eddbec993e
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Preparedposition/InfantryFightingPosition/Non_CoveredMachineGunBunker/Non_CoveredMachineGunBunker.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Preparedposition.InfantryFightingPosition.Non_CoveredMachineGunBunker;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Non_CoveredMachineGunBunker extends ObjectType
+{
+    public Non_CoveredMachineGunBunker()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(2)); // Prepared position
+        setCategory((byte)2); // Infantry Fighting Position
+        setSubCategory((byte)4); // Non-Covered Machine Gun Bunker
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Preparedposition/InfantryFightingPosition/Other/Other.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Preparedposition/InfantryFightingPosition/Other/Other.java
new file mode 100644
index 0000000000000000000000000000000000000000..d724a1d28f2bb960c70b623d77328bb29c903c57
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Preparedposition/InfantryFightingPosition/Other/Other.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Preparedposition.InfantryFightingPosition.Other;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Other extends ObjectType
+{
+    public Other()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(2)); // Prepared position
+        setCategory((byte)2); // Infantry Fighting Position
+        setSubCategory((byte)0); // Other
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Preparedposition/InfantryFightingPosition/OverheadCoveredInfantryPosition/OverheadCoveredInfantryPosition.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Preparedposition/InfantryFightingPosition/OverheadCoveredInfantryPosition/OverheadCoveredInfantryPosition.java
new file mode 100644
index 0000000000000000000000000000000000000000..b8431dc1dc6c9fa7bde1ebda2926629f2f003a6e
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Preparedposition/InfantryFightingPosition/OverheadCoveredInfantryPosition/OverheadCoveredInfantryPosition.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Preparedposition.InfantryFightingPosition.OverheadCoveredInfantryPosition;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class OverheadCoveredInfantryPosition extends ObjectType
+{
+    public OverheadCoveredInfantryPosition()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(2)); // Prepared position
+        setCategory((byte)2); // Infantry Fighting Position
+        setSubCategory((byte)2); // Overhead Covered Infantry Position
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Preparedposition/VehicleDefilade/ArmoredVehicle/ArmoredVehicle.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Preparedposition/VehicleDefilade/ArmoredVehicle/ArmoredVehicle.java
new file mode 100644
index 0000000000000000000000000000000000000000..eb0db339dc4a3865c5ab752a099778e25c0d4bb0
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Preparedposition/VehicleDefilade/ArmoredVehicle/ArmoredVehicle.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Preparedposition.VehicleDefilade.ArmoredVehicle;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class ArmoredVehicle extends ObjectType
+{
+    public ArmoredVehicle()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(2)); // Prepared position
+        setCategory((byte)1); // Vehicle Defilade
+        setSubCategory((byte)1); // Armored Vehicle
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Preparedposition/VehicleDefilade/FightingVehicle/FightingVehicle.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Preparedposition/VehicleDefilade/FightingVehicle/FightingVehicle.java
new file mode 100644
index 0000000000000000000000000000000000000000..914a4e7c41042ce9fce496eab9d2e6bc1e0c7d27
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Preparedposition/VehicleDefilade/FightingVehicle/FightingVehicle.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Preparedposition.VehicleDefilade.FightingVehicle;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class FightingVehicle extends ObjectType
+{
+    public FightingVehicle()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(2)); // Prepared position
+        setCategory((byte)1); // Vehicle Defilade
+        setSubCategory((byte)2); // Fighting Vehicle
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Preparedposition/VehicleDefilade/MortarCarrier/MortarCarrier.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Preparedposition/VehicleDefilade/MortarCarrier/MortarCarrier.java
new file mode 100644
index 0000000000000000000000000000000000000000..525b4f5297da7a1d0492782dfc24cacae5671b73
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Preparedposition/VehicleDefilade/MortarCarrier/MortarCarrier.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Preparedposition.VehicleDefilade.MortarCarrier;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class MortarCarrier extends ObjectType
+{
+    public MortarCarrier()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(2)); // Prepared position
+        setCategory((byte)1); // Vehicle Defilade
+        setSubCategory((byte)3); // Mortar Carrier
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Preparedposition/VehicleDefilade/Other/Other.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Preparedposition/VehicleDefilade/Other/Other.java
new file mode 100644
index 0000000000000000000000000000000000000000..c8a9228a8f60a84ef00fc2d13ca8be667908fd4e
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Preparedposition/VehicleDefilade/Other/Other.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Preparedposition.VehicleDefilade.Other;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Other extends ObjectType
+{
+    public Other()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(2)); // Prepared position
+        setCategory((byte)1); // Vehicle Defilade
+        setSubCategory((byte)0); // Other
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Preparedposition/VehicleDefilade/Tank/Tank.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Preparedposition/VehicleDefilade/Tank/Tank.java
new file mode 100644
index 0000000000000000000000000000000000000000..71d380f0428314524f2a238f345f238ccfa5dd54
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Preparedposition/VehicleDefilade/Tank/Tank.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Preparedposition.VehicleDefilade.Tank;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Tank extends ObjectType
+{
+    public Tank()
+    {
+        setDomain(PlatformDomain.getEnumForValue(1));
+        setObjectKind(ObjectKind.getEnumForValue(2)); // Prepared position
+        setCategory((byte)1); // Vehicle Defilade
+        setSubCategory((byte)4); // Tank
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Tacticalsmoke/AirBurst/Grenade/Grenade.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Tacticalsmoke/AirBurst/Grenade/Grenade.java
new file mode 100644
index 0000000000000000000000000000000000000000..d8df536667ce92940c93538d5a45119afdd04a67
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Tacticalsmoke/AirBurst/Grenade/Grenade.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Tacticalsmoke.AirBurst.Grenade;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Grenade extends ObjectType
+{
+    public Grenade()
+    {
+        setDomain(PlatformDomain.getEnumForValue(0));
+        setObjectKind(ObjectKind.getEnumForValue(5)); // Tactical smoke
+        setCategory((byte)2); // Air Burst
+        setSubCategory((byte)1); // Grenade
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Tacticalsmoke/AirBurst/Other/Other.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Tacticalsmoke/AirBurst/Other/Other.java
new file mode 100644
index 0000000000000000000000000000000000000000..6a228bbbea83c83ff33d3a9c2bef89ce7c3334a4
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Tacticalsmoke/AirBurst/Other/Other.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Tacticalsmoke.AirBurst.Other;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Other extends ObjectType
+{
+    public Other()
+    {
+        setDomain(PlatformDomain.getEnumForValue(0));
+        setObjectKind(ObjectKind.getEnumForValue(5)); // Tactical smoke
+        setCategory((byte)2); // Air Burst
+        setSubCategory((byte)0); // Other
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Tacticalsmoke/GroundBurst/Artillery/Artillery.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Tacticalsmoke/GroundBurst/Artillery/Artillery.java
new file mode 100644
index 0000000000000000000000000000000000000000..7be84490f6d15b189e603ba1b6098ff0d5c5c9ee
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Tacticalsmoke/GroundBurst/Artillery/Artillery.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Tacticalsmoke.GroundBurst.Artillery;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Artillery extends ObjectType
+{
+    public Artillery()
+    {
+        setDomain(PlatformDomain.getEnumForValue(0));
+        setObjectKind(ObjectKind.getEnumForValue(5)); // Tactical smoke
+        setCategory((byte)1); // Ground Burst
+        setSubCategory((byte)1); // Artillery
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Tacticalsmoke/GroundBurst/Other/Other.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Tacticalsmoke/GroundBurst/Other/Other.java
new file mode 100644
index 0000000000000000000000000000000000000000..fdf39059686f0fc6c96c9e551f7b526594a42fa4
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Tacticalsmoke/GroundBurst/Other/Other.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Tacticalsmoke.GroundBurst.Other;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class Other extends ObjectType
+{
+    public Other()
+    {
+        setDomain(PlatformDomain.getEnumForValue(0));
+        setObjectKind(ObjectKind.getEnumForValue(5)); // Tactical smoke
+        setCategory((byte)1); // Ground Burst
+        setSubCategory((byte)0); // Other
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Tacticalsmoke/TacticalSmoke_Canister/M18_Green/M18_Green.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Tacticalsmoke/TacticalSmoke_Canister/M18_Green/M18_Green.java
new file mode 100644
index 0000000000000000000000000000000000000000..1b6d86c31cab81bc85c102dd3138f1f749d5d704
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Tacticalsmoke/TacticalSmoke_Canister/M18_Green/M18_Green.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Tacticalsmoke.TacticalSmoke_Canister.M18_Green;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class M18_Green extends ObjectType
+{
+    public M18_Green()
+    {
+        setDomain(PlatformDomain.getEnumForValue(0));
+        setObjectKind(ObjectKind.getEnumForValue(5)); // Tactical smoke
+        setCategory((byte)3); // Tactical Smoke, Canister
+        setSubCategory((byte)2); // M18, Green
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Tacticalsmoke/TacticalSmoke_Canister/M18_Red/M18_Red.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Tacticalsmoke/TacticalSmoke_Canister/M18_Red/M18_Red.java
new file mode 100644
index 0000000000000000000000000000000000000000..fa268cf5f2f59cc22bde03661917ee63b9483cfa
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Tacticalsmoke/TacticalSmoke_Canister/M18_Red/M18_Red.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Tacticalsmoke.TacticalSmoke_Canister.M18_Red;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class M18_Red extends ObjectType
+{
+    public M18_Red()
+    {
+        setDomain(PlatformDomain.getEnumForValue(0));
+        setObjectKind(ObjectKind.getEnumForValue(5)); // Tactical smoke
+        setCategory((byte)3); // Tactical Smoke, Canister
+        setSubCategory((byte)5); // M18, Red
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Tacticalsmoke/TacticalSmoke_Canister/M18_Violet/M18_Violet.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Tacticalsmoke/TacticalSmoke_Canister/M18_Violet/M18_Violet.java
new file mode 100644
index 0000000000000000000000000000000000000000..a17c254bcc6fa31e57b5781087184594a9f05875
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Tacticalsmoke/TacticalSmoke_Canister/M18_Violet/M18_Violet.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Tacticalsmoke.TacticalSmoke_Canister.M18_Violet;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class M18_Violet extends ObjectType
+{
+    public M18_Violet()
+    {
+        setDomain(PlatformDomain.getEnumForValue(0));
+        setObjectKind(ObjectKind.getEnumForValue(5)); // Tactical smoke
+        setCategory((byte)3); // Tactical Smoke, Canister
+        setSubCategory((byte)3); // M18, Violet
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Tacticalsmoke/TacticalSmoke_Canister/M18_Yellow/M18_Yellow.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Tacticalsmoke/TacticalSmoke_Canister/M18_Yellow/M18_Yellow.java
new file mode 100644
index 0000000000000000000000000000000000000000..06968a8481fe7d8a49f346bcb1d871102d915d55
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Tacticalsmoke/TacticalSmoke_Canister/M18_Yellow/M18_Yellow.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Tacticalsmoke.TacticalSmoke_Canister.M18_Yellow;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class M18_Yellow extends ObjectType
+{
+    public M18_Yellow()
+    {
+        setDomain(PlatformDomain.getEnumForValue(0));
+        setObjectKind(ObjectKind.getEnumForValue(5)); // Tactical smoke
+        setCategory((byte)3); // Tactical Smoke, Canister
+        setSubCategory((byte)4); // M18, Yellow
+    }
+}
diff --git a/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Tacticalsmoke/TacticalSmoke_Canister/M83_White/M83_White.java b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Tacticalsmoke/TacticalSmoke_Canister/M83_White/M83_White.java
new file mode 100644
index 0000000000000000000000000000000000000000..d87bb2d1a9bef7978fe59ee1e1541a109aea8fbe
--- /dev/null
+++ b/src-generated/edu/nps/moves/dis7/objecttypes/PointObject/Tacticalsmoke/TacticalSmoke_Canister/M83_White/M83_White.java
@@ -0,0 +1,20 @@
+package edu.nps.moves.dis7.objecttypes.PointObject.Tacticalsmoke.TacticalSmoke_Canister.M83_White;
+
+import edu.nps.moves.dis7.*;
+import edu.nps.moves.dis7.enumerations.*;
+
+/**
+ * SISO-REF-010-v25, 2018-08-29
+ *
+ * ObjectType uid: 226
+ */
+public class M83_White extends ObjectType
+{
+    public M83_White()
+    {
+        setDomain(PlatformDomain.getEnumForValue(0));
+        setObjectKind(ObjectKind.getEnumForValue(5)); // Tactical smoke
+        setCategory((byte)3); // Tactical Smoke, Canister
+        setSubCategory((byte)1); // M83, White
+    }
+}
diff --git a/test/edu/nps/moves/dis7/CreateAllObjectTypesTest.java b/test/edu/nps/moves/dis7/CreateAllObjectTypesTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..a1a7b46362c48611caa14e87c4fde9cbbada5403
--- /dev/null
+++ b/test/edu/nps/moves/dis7/CreateAllObjectTypesTest.java
@@ -0,0 +1,271 @@
+package edu.nps.moves.dis7;
+
+/**
+ * CreateAllObjectTypes()); created on May 20, 2019 MOVES Institute Naval Postgraduate School, Monterey, CA, USA www.nps.edu
+ *
+ * @author Mike Bailey, jmbailey@edu.nps.edu
+ * @version $Id$
+ */
+import org.junit.jupiter.api.*;
+import static org.junit.jupiter.api.Assertions.assertNull;
+
+@DisplayName("All Object Types Create")
+
+public class CreateAllObjectTypesTest
+{
+  @BeforeAll
+  public static void beforeAllTests()
+  {
+  }
+
+  @AfterAll
+  public static void afterAllTests()
+  {
+  }
+
+  @BeforeEach
+  public void setUp()
+  {
+  }
+
+  @AfterEach
+  public void tearDown()
+  {
+  }
+
+  @Test
+  public void testCreateAllObjectTypes()
+  {
+    Throwable ex = null;
+    try {
+
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.ArealObject.ArealObject());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.ArealObject.Obstacle.Obstacle());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.ArealObject.Obstacle.Minefield.Minefield());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.ArealObject.Obstacle.Minefield.Hasty.Hasty());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.ArealObject.Obstacle.Minefield.Other.Other());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.ArealObject.Obstacle.Minefield.Prepared.Prepared());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.ArealObject.Obstacle.Minefield.Scattered.Scattered());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.ArealObject.Obstacle.Minefield.Solitary.Solitary());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.ArealObject.Obstacle.Other.Other());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.LinearObject.LinearObject());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.LinearObject.Culturalfeature.Culturalfeature());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.LinearObject.Culturalfeature.Tracks_Tire.Tracks_Tire());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.LinearObject.Culturalfeature.Wire.Wire());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.LinearObject.Culturalfeature.Wire.Wire_Crush.Wire_Crush());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.LinearObject.Obstacle.Obstacle());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.LinearObject.Obstacle.ChainLinkFence.ChainLinkFence());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.LinearObject.Obstacle.ConcertinaWire.ConcertinaWire());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.LinearObject.Obstacle.ConcertinaWire.Other.Other());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.LinearObject.Obstacle.ConcertinaWire._2_Roll._2_Roll());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.LinearObject.Obstacle.ConcertinaWire._3_Roll._3_Roll());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.LinearObject.Obstacle.ConcreteBarrier.ConcreteBarrier());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.LinearObject.Obstacle.Other.Other());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.LinearObject.Obstacle.Rut.Rut());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.LinearObject.Obstacle.SpeedBump.SpeedBump());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.LinearObject.Obstacle.TankDitch.TankDitch());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.LinearObject.Obstacle.TankDitch.Other.Other());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.LinearObject.Obstaclebreach.Obstaclebreach());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.LinearObject.Obstaclebreach.Breach.Breach());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.LinearObject.Obstaclebreach.Breach.Other.Other());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.LinearObject.Obstaclebreach.Other.Other());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.LinearObject.Obstaclemarker.Obstaclemarker());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.LinearObject.Obstaclemarker.MinefieldLaneMarker.MinefieldLaneMarker());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.LinearObject.Obstaclemarker.MinefieldLaneMarker.Other.Other());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.LinearObject.Obstaclemarker.Other.Other());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.LinearObject.Tacticalsmoke.Tacticalsmoke());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.LinearObject.Tacticalsmoke.ExhaustSmoke.ExhaustSmoke());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.LinearObject.Tacticalsmoke.ExhaustSmoke.Other.Other());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.LinearObject.Tacticalsmoke.Other.Other());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.PointObject());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Culturalfeature());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.BuildingRubble.BuildingRubble());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.BuildingRubble.Other.Other());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.Building_Structure());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.ApartmentBuilding.ApartmentBuilding());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.Church.Church());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.FOB_GuardTower.FOB_GuardTower());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.FOB_TrailerOffice.FOB_TrailerOffice());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.GovernmentBuilding.GovernmentBuilding());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.GuardHouse.GuardHouse());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.Hanger.Hanger());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.IndustrialBuilding.IndustrialBuilding());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.MicrowaveTower.MicrowaveTower());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.Other.Other());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.PortaPotty.PortaPotty());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.PowerPylon.PowerPylon());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.RadioTower_1000ft.RadioTower_1000ft());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.RadioTower_100ft.RadioTower_100ft());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.RadioTower_500ft.RadioTower_500ft());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.Radio_TVTower.Radio_TVTower());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.School.School());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.TransformerYard.TransformerYard());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Building_Structure.Windmill.Windmill());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Container_BasedBuilding.Container_BasedBuilding());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Container_BasedBuilding.Container_BasedBuilding_Bridge_Single.Container_BasedBuilding_Bridge_Single());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Container_BasedBuilding.Container_BasedBuilding_FOB.Container_BasedBuilding_FOB());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Container_BasedBuilding.Container_BasedBuilding_House_Double.Container_BasedBuilding_House_Double());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Container_BasedBuilding.Container_BasedBuilding_House_Single.Container_BasedBuilding_House_Single());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Container_BasedBuilding.Container_BasedBuilding_House_Single_Railing.Container_BasedBuilding_House_Single_Railing());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Container_BasedBuilding.Container_BasedBuilding_Mosque_Single.Container_BasedBuilding_Mosque_Single());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Container_BasedBuilding.Container_BasedBuilding_Store_Single.Container_BasedBuilding_Store_Single());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.DisturbedEarth.DisturbedEarth());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.DisturbedRoad.DisturbedRoad());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.DisturbedRoad.DisturbedRoad_Asphalt.DisturbedRoad_Asphalt());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.DisturbedRoad.DisturbedRoad_Concrete.DisturbedRoad_Concrete());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.DisturbedRoad.DisturbedRoad_Gravel.DisturbedRoad_Gravel());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.IndustrialProcessingPlant.IndustrialProcessingPlant());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.IndustrialProcessingPlant.OilRefinery.OilRefinery());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_Apartment.MOUTBuilding_Apartment());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_Church.MOUTBuilding_Church());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_ControlTower.MOUTBuilding_ControlTower());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_FarmHouse.MOUTBuilding_FarmHouse());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_FireStation.MOUTBuilding_FireStation());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_GasStation.MOUTBuilding_GasStation());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_Hospital.MOUTBuilding_Hospital());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_House.MOUTBuilding_House());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_MudbrickHouse.MOUTBuilding_MudbrickHouse());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_MudbrickStore.MOUTBuilding_MudbrickStore());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_OfficeBuilding.MOUTBuilding_OfficeBuilding());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_PoliceStation.MOUTBuilding_PoliceStation());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_PowerStation.MOUTBuilding_PowerStation());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_School.MOUTBuilding_School());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_Store.MOUTBuilding_Store());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_Warehouse.MOUTBuilding_Warehouse());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MOUTBuilding.MOUTBuilding_WaterTower.MOUTBuilding_WaterTower());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MaintenanceStructure.MaintenanceStructure());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MaintenanceStructure.LargeAreaMaintenanceShelterLAMSAviationMaintenanceAM.LargeAreaMaintenanceShelterLAMSAviationMaintenanceAM());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MaintenanceStructure.LargeAreaMaintenanceShelterLAMSVehicleMaintenanceVM.LargeAreaMaintenanceShelterLAMSVehicleMaintenanceVM());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MaintenanceStructure.LightweightMaintenanceEnclosureLME_Bradley.LightweightMaintenanceEnclosureLME_Bradley());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.MaintenanceStructure.LightweightMaintenanceEnclosureLME_M1.LightweightMaintenanceEnclosureLME_M1());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Other.Other());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Pump.Pump());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Pump.Pump_Gas.Pump_Gas());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tent.Tent());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tent.Tent_Arctic.Tent_Arctic());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tent.Tent_Bedouin.Tent_Bedouin());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tent.Tent_ChemicallyandBiologicalProtectedShelterCBPS.Tent_ChemicallyandBiologicalProtectedShelterCBPS());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tent.Tent_ExpandableFrame.Tent_ExpandableFrame());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tent.Tent_Fritsche.Tent_Fritsche());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tent.Tent_Kuchi.Tent_Kuchi());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tent.Tent_Large.Tent_Large());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tent.Tent_Medium.Tent_Medium());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tent.Tent_ModularGeneralPurposeTentSystemMGPTS.Tent_ModularGeneralPurposeTentSystemMGPTS());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tent.Tent_Small.Tent_Small());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tent.Tent_TEMPER.Tent_TEMPER());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tree_Deciduous.Tree_Deciduous());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tree_Deciduous.Tree_Deciduous_Large.Tree_Deciduous_Large());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tree_Deciduous.Tree_Deciduous_Medium.Tree_Deciduous_Medium());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tree_Deciduous.Tree_Deciduous_Small.Tree_Deciduous_Small());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tree_Evergreen.Tree_Evergreen());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tree_Evergreen.Tree_Evergreen_Large.Tree_Evergreen_Large());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tree_Evergreen.Tree_Evergreen_Medium.Tree_Evergreen_Medium());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.Tree_Evergreen.Tree_Evergreen_Small.Tree_Evergreen_Small());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Culturalfeature.UtilityPole.UtilityPole());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.EnvironmentalObject.EnvironmentalObject());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.EnvironmentalObject.Flood.Flood());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.EnvironmentalObject.Flood.Flood_Large.Flood_Large());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.EnvironmentalObject.Flood.Flood_Medium.Flood_Medium());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.EnvironmentalObject.Flood.Flood_Small.Flood_Small());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Obstacle());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Abatis.Abatis());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Abatis.Other.Other());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Abatis._14Tree._14Tree());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Abatis._8Tree._8Tree());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Barrier.Barrier());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Barrier.Barrier_Construction.Barrier_Construction());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Barrier.Barrier_Fence_Chain_6_foot.Barrier_Fence_Chain_6_foot());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Barrier.Barrier_Fence_Wood_6_foot.Barrier_Fence_Wood_6_foot());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Barrier.Barrier_HESCOBasket_Double_Stacked.Barrier_HESCOBasket_Double_Stacked());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Barrier.Barrier_HESCOBasket_Large.Barrier_HESCOBasket_Large());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Barrier.Barrier_HESCOBasket_Medium.Barrier_HESCOBasket_Medium());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Barrier.Barrier_HESCOBasket_Small.Barrier_HESCOBasket_Small());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Barrier.Barrier_Jersey_Plastic.Barrier_Jersey_Plastic());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Barrier.Barrier_Texas.Barrier_Texas());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Barrier.DragonsTeeth.DragonsTeeth());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Crater.Crater());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Crater.Large.Large());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Crater.Medium.Medium());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Crater.Other.Other());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Crater.Small.Small());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.LogCrib.LogCrib());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.LogCrib.Other.Other());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.LogCrib.Rectangular.Rectangular());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.LogCrib.Triangular.Triangular());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.Other.Other());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.PotHole.PotHole());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.RockDrop.RockDrop());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.RockDrop.RockDrop_Covered.RockDrop_Covered());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Obstacle.RockDrop.RockDrop_Uncovered.RockDrop_Uncovered());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Obstaclemarker.Obstaclemarker());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Obstaclemarker.NBCHazardMarker.NBCHazardMarker());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Passageway.Passageway());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Passageway.AVLB.AVLB());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Passageway.AVLB.JointAssaultBridgeJAB.JointAssaultBridgeJAB());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Passageway.AVLB.M60A1.M60A1());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Passageway.AVLB.MTU20.MTU20());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Passageway.AVLB.Other.Other());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Passageway.Other.Other());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Passageway.Pier.Pier());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Passageway.RibbonBridge.RibbonBridge());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Passageway.RibbonBridge.Other.Other());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Passageway.RibbonBridge._2_Lane._2_Lane());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Passageway.RibbonBridge._4_Lane._4_Lane());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Passageway.StationaryBridge.StationaryBridge());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Passageway.StationaryBridge.Other.Other());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Passageway.StationaryBridge._2_Lane._2_Lane());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Passageway.StationaryBridge._4_Lane._4_Lane());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Preparedposition.Preparedposition());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Preparedposition.InfantryFightingPosition.InfantryFightingPosition());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Preparedposition.InfantryFightingPosition.CoveredMachineGunBunker.CoveredMachineGunBunker());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Preparedposition.InfantryFightingPosition.HastyFightingPosition.HastyFightingPosition());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Preparedposition.InfantryFightingPosition.Non_CoveredInfantryPosition.Non_CoveredInfantryPosition());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Preparedposition.InfantryFightingPosition.Non_CoveredMachineGunBunker.Non_CoveredMachineGunBunker());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Preparedposition.InfantryFightingPosition.Other.Other());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Preparedposition.InfantryFightingPosition.OverheadCoveredInfantryPosition.OverheadCoveredInfantryPosition());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Preparedposition.Other.Other());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Preparedposition.VehicleDefilade.VehicleDefilade());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Preparedposition.VehicleDefilade.ArmoredVehicle.ArmoredVehicle());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Preparedposition.VehicleDefilade.FightingVehicle.FightingVehicle());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Preparedposition.VehicleDefilade.MortarCarrier.MortarCarrier());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Preparedposition.VehicleDefilade.Other.Other());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Preparedposition.VehicleDefilade.Tank.Tank());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Tacticalsmoke.Tacticalsmoke());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Tacticalsmoke.AirBurst.AirBurst());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Tacticalsmoke.AirBurst.Grenade.Grenade());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Tacticalsmoke.AirBurst.Other.Other());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Tacticalsmoke.GroundBurst.GroundBurst());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Tacticalsmoke.GroundBurst.Artillery.Artillery());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Tacticalsmoke.GroundBurst.Other.Other());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Tacticalsmoke.Other.Other());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Tacticalsmoke.TacticalSmoke_Canister.TacticalSmoke_Canister());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Tacticalsmoke.TacticalSmoke_Canister.M18_Green.M18_Green());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Tacticalsmoke.TacticalSmoke_Canister.M18_Red.M18_Red());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Tacticalsmoke.TacticalSmoke_Canister.M18_Violet.M18_Violet());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Tacticalsmoke.TacticalSmoke_Canister.M18_Yellow.M18_Yellow());
+      dumpObjectType(new edu.nps.moves.dis7.objecttypes.PointObject.Tacticalsmoke.TacticalSmoke_Canister.M83_White.M83_White());
+
+    }
+    catch (Throwable t) {
+      ex = t;
+    }
+
+    //temp assertNull(ex, "Exception should be null if successful creation of all objects");
+  }
+
+  String formatStr = "Name: %s\tDomain: %s\tKind: %s\tCategory: %s\tSubcategory: %s";
+
+  private void dumpObjectType(ObjectType ot)
+  {
+  }
+
+  private void actualDumpObjectType(ObjectType ot)
+  {
+    String dom = ot.getDomain().toString();
+    String kind = ot.getObjectKind().toString();;
+    String nm = ot.getClass().getName();
+    System.out.println(String.format(formatStr, nm, dom, kind, ot.getCategory(), ot.getSubCategory()));
+  }
+
+}
diff --git a/test/edu/nps/moves/dis7/CreateAllPduTypesTest.java b/test/edu/nps/moves/dis7/CreateAllPduTypesTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..e79c9a795e2794d30c0f6c56c5c823602882b3a0
--- /dev/null
+++ b/test/edu/nps/moves/dis7/CreateAllPduTypesTest.java
@@ -0,0 +1,318 @@
+package edu.nps.moves.dis7;
+
+import java.io.ByteArrayOutputStream;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.nio.ByteBuffer;
+import java.util.HashSet;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
+import static org.junit.jupiter.api.Assertions.*;
+
+/**
+ *
+ * @author mike
+ */
+public class CreateAllPduTypesTest
+{
+
+    public CreateAllPduTypesTest()
+    {
+    }
+
+    @BeforeAll
+    public static void setUpClass()
+    {
+    }
+
+    @AfterAll
+    public static void tearDownClass()
+    {
+    }
+
+    @BeforeEach
+    public void setUp()
+    {
+    }
+
+    @AfterEach
+    public void tearDown()
+    {
+    }
+
+    HashSet<Object> pdus = new HashSet<>();
+    ByteBuffer buff = ByteBuffer.allocate(20000);
+    DataOutputStream dos = new DataOutputStream(new ByteArrayOutputStream());
+    @Test
+    public void testCreateAll()
+    {
+        Object o;
+        //0 == "other"
+        pdus.add(new EntityStatePdu()); //1
+        pdus.add(new FirePdu()); //2
+        pdus.add(new DetonationPdu()); //3
+        pdus.add(new CollisionPdu()); //4
+        pdus.add(new ServiceRequestPdu()); //5
+        pdus.add(new ResupplyOfferPdu()); //6
+        pdus.add(new ResupplyReceivedPdu()); //7
+        pdus.add(new ResupplyCancelPdu()); //8
+        pdus.add(new RepairCompletePdu()); //9
+        
+        pdus.add(new RepairResponsePdu()); //10       
+        pdus.add(new CreateEntityPdu()); //11     
+        pdus.add(new RemoveEntityPdu()); //12
+        pdus.add(new StartResumePdu()); //13
+        pdus.add(new StopFreezePdu()); //14
+        pdus.add(new AcknowledgePdu()); //15
+        pdus.add(new ActionRequestPdu()); //16
+        pdus.add(new ActionResponsePdu()); //17
+        pdus.add(new DataQueryPdu()); //18
+        pdus.add(new SetDataPdu()); //19
+        
+        pdus.add(new DataPdu()); //20
+        pdus.add(new EventReportPdu()); //21
+        pdus.add(new CommentPdu()); //22
+        pdus.add(new ElectromagneticEmissionPdu()); //23
+        pdus.add(new DesignatorPdu()); //24   
+        pdus.add(new TransmitterPdu()); //25 
+        pdus.add(new SignalPdu()); //26
+        pdus.add(new ReceiverPdu()); //27
+        pdus.add(new IFFPdu()); //28
+        pdus.add(new UnderwaterAcousticPdu()); //29
+        
+        pdus.add(new SEESPdu()); //30
+        pdus.add(new IntercomSignalPdu()); //31
+        pdus.add(new IntercomControlPdu()); //32
+        pdus.add(new AggregateStatePdu()); //33
+        pdus.add(new IsGroupOfPdu()); //34
+        pdus.add(new TransferOwnershipPdu()); //35
+        pdus.add(new IsPartOfPdu()); //36
+        pdus.add(new MinefieldStatePdu()); //37
+        pdus.add(new MinefieldQueryPdu()); //38      
+        pdus.add(new MinefieldDataPdu()); //39 
+        
+        pdus.add(new MinefieldResponseNACKPdu()); //40
+        pdus.add(new EnvironmentalProcessPdu()); //41
+        pdus.add(new GriddedDataPdu()); //42
+        pdus.add(new PointObjectStatePdu()); //43
+        pdus.add(new LinearObjectStatePdu()); //44     
+        pdus.add(new ArealObjectStatePdu()); //45       
+        pdus.add(new TSPIPdu()); //46      
+        pdus.add(new AppearancePdu()); //47      
+        pdus.add(new ArticulatedPartsPdu()); //48
+        pdus.add(new LEFirePdu()); //49
+        
+        pdus.add(new LEDetonationPdu()); //50
+        pdus.add(new CreateEntityReliablePdu()); //51   
+        pdus.add(new RemoveEntityReliablePdu()); //52   
+        pdus.add(new StartResumeReliablePdu()); //53
+        pdus.add(new StopFreezeReliablePdu()); //54
+        pdus.add(new AcknowledgeReliablePdu()); //55      
+        pdus.add(new ActionRequestReliablePdu()); //56       
+        pdus.add(new ActionResponseReliablePdu()); //57       
+        pdus.add(new DataQueryReliablePdu()); //58       
+        pdus.add(new SetDataReliablePdu()); //59
+        
+        pdus.add(new DataReliablePdu()); //60
+        pdus.add(new EventReportReliablePdu()); //61
+        pdus.add(new CommentReliablePdu()); //62
+        pdus.add(new RecordReliablePdu()); //63
+        pdus.add(new SetRecordReliablePdu()); //64
+        pdus.add(new RecordQueryReliablePdu()); //65
+        pdus.add(new CollisionElasticPdu()); //66
+        pdus.add(new EntityStateUpdatePdu()); //67
+        pdus.add(new DirectedEnergyFirePdu()); //68
+        pdus.add(new EntityDamageStatusPdu()); //69
+        
+        pdus.add(new InformationOperationsActionPdu()); //70   
+        pdus.add(new InformationOperationsReportPdu()); //71
+        pdus.add(new AttributePdu()); //72
+
+        /* marshal all */
+        System.out.println("marshalling");
+        pdus.stream().forEach(ob->{
+            ((Marshaller)ob).marshal(dos);
+            System.out.println("marshalled "+ob.getClass().getSimpleName());
+            });
+        /*
+APA.java
+AcousticEmitter.java
+AggregateIdentifier.java
+AggregateMarking.java
+AggregateType.java
+AngleDeception.java
+AngularVelocityVector.java
+AntennaLocation.java
+Appearance.java
+ArticulatedPartVP.java
+Association.java
+AttachedPartVP.java
+Attribute.java
+AttributeRecordSet.java
+        
+BeamAntennaPattern.java
+BeamData.java
+BeamStatus.java
+BlankingSector.java
+        
+ChangeOptions.java
+ClockTime.java
+CommunicationsNodeID.java
+
+DataFilterRecord.java
+DataQueryDatumSpecification.java
+DatumSpecification.java
+DeadReckoningParameters.java
+DirectedEnergyAreaAimpoint.java
+DirectedEnergyDamage.java
+DirectedEnergyPrecisionAimpoint.java
+DirectedEnergyTargetEnergyDeposition.java
+DistributedEmissionsFamilyPdu.java
+        
+EEFundamentalParameterData.java
+EightByteChunk.java
+ElectronicEmitter.java
+EmitterBeam.java
+EmitterSystem.java
+EngineFuel.java
+EngineFuelReload.java
+EntityAssociationVP.java
+EntityID.java
+EntityIdentifier.java
+EntityInformationFamilyPdu.java
+EntityManagementFamilyPdu.java
+EntityMarking.java
+EntityType.java
+EntityTypeRaw.java
+EntityTypeVP.java
+Environment.java
+EulerAngles.java
+EventIdentifier.java
+EventIdentifierLiveEntity.java
+Expendable.java
+ExpendableDescriptor.java
+ExpendableReload.java
+ExplosionDescriptor.java
+        
+FalseTargetsAttribute.java
+FastEntityStatePdu.java
+FixedDatum.java
+FourByteChunk.java
+FundamentalOperationalData.java
+        
+GridAxisDescriptor.java
+GridAxisDescriptorFixed.java
+GridAxisDescriptorVariable.java
+GridData.java
+GridDataType0.java
+GridDataType1.java
+GridDataType2.java
+GroupID.java
+        
+IFFData.java
+IFFFundamentalParameterData.java
+IOCommsNodeRecord.java
+IOEffectRecord.java
+IORecord.java
+IffDataSpecification.java
+IffLayer2Pdu.java
+InformationOperationsFamilyPdu.java
+IntercomCommunicationsParameters.java
+IntercomIdentifier.java
+
+JammingTechnique.java
+JammingTechniqueRaw.java
+
+LEVector3FixedByte.java
+LaunchedMunitionRecord.java
+LayerHeader.java
+LinearSegmentParameter.java
+LiveDeadReckoningParameters.java
+LiveEntityFamilyPdu.java
+LiveEntityIdentifier.java
+LiveEntityLinearVelocity.java
+LiveEntityOrientation.java
+LiveEntityOrientation16.java
+LiveEntityOrientationError.java
+LiveEntityPdu.java
+LiveEntityPositionError.java
+LiveEntityRelativeWorldCoordinates.java
+LiveSimulationAddress.java
+LogisticsFamilyPdu.java
+        
+MineEmplacementTime.java
+MineEntityIdentifier.java
+MinefieldFamilyPdu.java
+MinefieldIdentifier.java
+MinefieldSensorType.java
+ModulationParameters.java
+ModulationType.java
+Munition.java
+MunitionDescriptor.java
+MunitionReload.java
+        
+NamedLocationIdentification.java
+        
+ObjectIdentifier.java
+ObjectType.java
+OneByteChunk.java
+OwnershipStatus.java
+        
+Pdu.java
+PduContainer.java
+PduHeader.java
+PduStatus.java
+PropulsionSystemData.java
+ProtocolMode.java
+
+RadioCommsHeader.java
+RadioCommunicationsFamilyPdu.java
+RadioIdentifier.java
+RadioType.java
+RecordQuerySpecification.java
+RecordSpecification.java
+RecordSpecificationElement.java
+Relationship.java
+RequestID.java
+
+SecondaryOperationalData.java
+Sensor.java
+SeparationVP.java
+ShaftRPM.java
+SilentEntitySystem.java
+SimulationAddress.java
+SimulationIdentifier.java
+SimulationManagementFamilyPdu.java
+SimulationManagementWithReliabilityFamilyPdu.java
+StandardVariableRecord.java
+StandardVariableSpecification.java
+StorageFuel.java
+StorageFuelReload.java
+SupplyQuantity.java
+SyntheticEnvironmentFamilyPdu.java
+SystemIdentifier.java
+
+TotalRecordSets.java
+TrackJamData.java
+TwoByteChunk.java
+        
+UABeam.java
+UAEmitter.java
+UAFundamentalParameter.java
+UnattachedIdentifier.java
+UnsignedDISInteger.java
+        
+VariableDatum.java
+VariableParameter.java
+VariableTransmitterParameters.java
+Vector2Float.java
+Vector3Double.java
+Vector3Float.java
+VectoringNozzleSystem.java
+WarfareFamilyPdu.java
+*/
+    }
+}
diff --git a/test/edu/nps/moves/dis7/EntityStatePduTest.java b/test/edu/nps/moves/dis7/EntityStatePduTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..0581c703e6766beb626a45390fac23a3c8ab292b
--- /dev/null
+++ b/test/edu/nps/moves/dis7/EntityStatePduTest.java
@@ -0,0 +1,49 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package edu.nps.moves.dis7;
+
+import edu.nps.moves.dis7.enumerations.LandPlatformCapabilities;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
+import static org.junit.jupiter.api.Assertions.*;
+
+/**
+ *
+ * @author mike
+ */
+public class EntityStatePduTest
+{
+    @BeforeAll
+    public static void setUpClass()
+    {
+    }
+    
+    @AfterAll
+    public static void tearDownClass()
+    {
+    }
+    
+    @BeforeEach
+    public void setUp()
+    {
+    }
+    
+    @AfterEach
+    public void tearDown()
+    {
+    }
+
+
+    @Test
+    public void testEntityCapabilities()
+    {
+      EntityStatePdu espdu = new EntityStatePdu();
+      espdu.setCapabilities(new LandPlatformCapabilities());
+    }
+}
diff --git a/test/edu/nps/moves/dis7/MarshalEnumsTest.java b/test/edu/nps/moves/dis7/MarshalEnumsTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..ec991eef73850a9df9128939a90608d1bad7ed99
--- /dev/null
+++ b/test/edu/nps/moves/dis7/MarshalEnumsTest.java
@@ -0,0 +1,598 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package edu.nps.moves.dis7;
+
+import edu.nps.moves.dis7.enumerations.*;
+import java.lang.reflect.Method;
+import java.nio.ByteBuffer;
+import org.junit.jupiter.api.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
+
+@DisplayName("Marshal Enums Test")
+public class MarshalEnumsTest
+{
+    @BeforeAll
+    public static void setUpClass()
+    {
+    }
+
+    @AfterAll
+    public static void tearDownClass()
+    {
+    }
+
+    @BeforeEach
+    public void setUp()
+    {
+    }
+
+    @AfterEach
+    public void tearDown()
+    {
+    }
+
+    @Test
+    public void testGoodMarshall()
+    {
+        Throwable thr = null;
+        try {
+            marshalOne(APAParameterIndexAPAStatus.values()[0]);
+            marshalOne(AcknowledgeAcknowledgeFlag.values()[0]);
+            marshalOne(AcknowledgeResponseFlag.values()[0]);
+            // this is a simple enum, never marshalled marshalOne(Acronyms.values()[0]);
+            marshalOne(ActionRequestActionID.values()[0]);
+            marshalOne(ActionResponseRequestStatus.values()[0]);
+//            marshalOne(AddSpecificDimensionEnumerationsforSubsurfaceAreaSize.values()[0]);
+//            marshalOne(AddVariantsforAirCategory201Insect.values()[0]);
+//            marshalOne(AddVariantsforLandCategory200Mammal.values()[0]);
+//            marshalOne(AddVariantsforSubsurfaceCategoriesFishMolluskCrustaceanandInsect.values()[0]);
+            marshalOne(AggregateStateAggregateKind.values()[0]);
+            marshalOne(AggregateStateAggregateState.values()[0]);
+            marshalOne(AggregateStateFormation.values()[0]);
+            marshalOne(AggregateStateSpecific.values()[0]);
+            marshalOne(AggregateStateSubcategory.values()[0]);
+
+            marshalOne(AircraftAddressSource.values()[0]);
+            marshalOne(AircraftIdentificationType.values()[0]);
+            marshalOne(AircraftPresentDomain.values()[0]);
+            marshalOne(AircraftTypeWake.values()[0]);
+//            marshalOne(AnimalLifeformGroupSizeRangeEnumerationforallDomains.values()[0]);
+            marshalOne(AntennaSelection.values()[0]);
+            marshalOne(AntennaStatus.values()[0]);
+            marshalOne(AppearanceAntiCollisionDayNight.values()[0]);
+            marshalOne(AppearanceCamouflageType.values()[0]);
+            marshalOne(AppearanceCanopy.values()[0]);
+            marshalOne(AppearanceConcealedMovement.values()[0]);
+            marshalOne(AppearanceConcealedPosition.values()[0]);
+            marshalOne(AppearanceDamage.values()[0]);
+            marshalOne(AppearanceEntityorObjectState.values()[0]);
+            marshalOne(AppearanceEnvironmentalDensity.values()[0]);
+            marshalOne(AppearanceHatch.values()[0]);
+            marshalOne(AppearanceLauncherOperational.values()[0]);
+            marshalOne(AppearanceLifeFormComplianceStatus.values()[0]);
+            marshalOne(AppearanceLifeFormPosture.values()[0]);
+            marshalOne(AppearanceLifeFormWeaponImplement.values()[0]);
+            marshalOne(AppearanceLifeformHealth.values()[0]);
+//            marshalOne(AppearanceLinearObjectLaneMarkerVisible.values()[0]);
+//            marshalOne(AppearanceLinearObjectTankDitchBreach.values()[0]);
+            marshalOne(AppearanceNVGMode.values()[0]);
+            marshalOne(AppearanceNavigationPositionBrightness.values()[0]);
+            marshalOne(AppearanceObjectGeneralDamage.values()[0]);
+            marshalOne(AppearanceObjectGeneralIEDPresent.values()[0]);
+            marshalOne(AppearanceObjectGeneralPredistributed.values()[0]);
+//            marshalOne(AppearanceObjectSpecificBreachState.values()[0]);
+//            marshalOne(AppearanceObjectSpecificChemicalType.values()[0]);
+            marshalOne(AppearancePaintScheme.values()[0]);
+            marshalOne(AppearanceSubsurfaceHatch.values()[0]);
+            marshalOne(AppearanceSupplyDeployed.values()[0]);
+            marshalOne(AppearanceTrailingEffects.values()[0]);
+
+            marshalOne(ArticulatedPartsTypeClass.values()[0]);
+            marshalOne(ArticulatedPartsTypeMetric.values()[0]);
+            marshalOne(AttachedPartDetachedIndicator.values()[0]);
+            marshalOne(AttachedParts.values()[0]);
+//            marshalOne(AustralianCategoryOverlay.values()[0]);
+            marshalOne(BeamStatusBeamState.values()[0]);
+//            marshalOne(BuildingPaintScheme.values()[0]);
+            marshalOne(CCTTSINCGARSClearChannel.values()[0]);
+            marshalOne(CCTTSINCGARSStartofMessage.values()[0]);
+ //           marshalOne(CIGIExtensionPacketID.values()[0]);
+            marshalOne(CapabilityReport.values()[0]);
+//            marshalOne(Class10SupplyCategoryMaterialtoSupportNonMilitaryPrograms.values()[0]);
+//            marshalOne(Class11SupplyCategorySuppliesNonDoctrinal.values()[0]);
+//            marshalOne(Class12SupplyCategorySlingLoadsNonDoctrinal.values()[0]);
+//            marshalOne(Class1SupplyCategorySubsistence.values()[0]);
+//            marshalOne(Class2SupplyCategoryClothingIndividualEquipmentToolsAdminSupplies.values()[0]);
+//            marshalOne(Class3SupplyCategoryPetroleumOilsLubricants.values()[0]);
+//            marshalOne(Class4SupplyCategoryConstructionMaterials.values()[0]);
+//            marshalOne(Class6SupplyCategoryPersonnelDemandItems.values()[0]);
+//            marshalOne(Class7SupplyCategoryMajorItems.values()[0]);
+//            marshalOne(Class8SupplyCategoryMedicalMaterial.values()[0]);
+//            marshalOne(Class9SupplyCategoryRepairPartsandComponents.values()[0]);
+            marshalOne(CollisionType.values()[0]);
+//            marshalOne(Color.values()[0]);
+            marshalOne(ComponentVisualDamageStatusSmoke.values()[0]);
+            marshalOne(ComponentVisualDamageStatusSurfaceDamage.values()[0]);
+            marshalOne(Country.values()[0]);
+            marshalOne(CoverShroudStatus.values()[0]);
+ //           marshalOne(CryptoKeyIDCryptoMode.values()[0]);
+
+            marshalOne(DEDamageDescriptionComponentDamageStatus.values()[0]);
+
+            marshalOne(DEDamageDescriptionComponentVisualSmokeColor.values()[0]);
+
+            marshalOne(DEFireFlagsStateUpdateFlag.values()[0]);
+            marshalOne(DEFirePulseShape.values()[0]);
+            marshalOne(DEPrecisionAimpointBeamSpotType.values()[0]);
+            marshalOne(DISAttributeActionCode.values()[0]);
+            marshalOne(DISLiveEntitySubprotocolNumber.values()[0]);
+            marshalOne(DISPDUStatusActiveInterrogationIndicatorAII.values()[0]);
+            marshalOne(DISPDUStatusCoupledExtensionIndicatorCEI.values()[0]);
+            marshalOne(DISPDUStatusDetonationTypeIndicatorDTI.values()[0]);
+            marshalOne(DISPDUStatusFireTypeIndicatorFTI.values()[0]);
+            marshalOne(DISPDUStatusIFFSimulationModeISM.values()[0]);
+            marshalOne(DISPDUStatusIntercomAttachedIndicatorIAI.values()[0]);
+            marshalOne(DISPDUStatusLVCIndicatorLVC.values()[0]);
+            marshalOne(DISPDUStatusRadioAttachedIndicatorRAI.values()[0]);
+            marshalOne(DISPDUStatusTransferredEntityIndicatorTEI.values()[0]);
+            marshalOne(DISPDUType.values()[0]);
+            marshalOne(DISProtocolFamily.values()[0]);
+            marshalOne(DISProtocolVersion.values()[0]);
+            marshalOne(DRParametersType.values()[0]);
+            marshalOne(DataCategory.values()[0]);
+            marshalOne(DeadReckoningAlgorithm.values()[0]);
+            marshalOne(DeltaMode5SAltitudePositiveNegativeIndicator.values()[0]);
+            marshalOne(DesignatorDesignatorCode.values()[0]);
+            marshalOne(DesignatorSystemName.values()[0]);
+            marshalOne(DetonationResult.values()[0]);
+            marshalOne(EEAttributeStateIndicator.values()[0]);
+            marshalOne(ElectromagneticEmissionBeamFunction.values()[0]);
+            marshalOne(ElectromagneticEmissionStateUpdateIndicator.values()[0]);
+       // why won't compile?     marshalOne(EmitterName.values()[0]);
+            marshalOne(EmitterSystemFunction.values()[0]);
+            marshalOne(EntityAssociationAssociationStatus.values()[0]);
+            marshalOne(EntityAssociationAssociationType.values()[0]);
+            marshalOne(EntityAssociationGroupMemberType.values()[0]);
+            marshalOne(EntityAssociationPhysicalAssociationType.values()[0]);
+            marshalOne(EntityAssociationPhysicalConnectionType.values()[0]);
+            marshalOne(EntityDamageStatusComponentIdentification.values()[0]);
+            marshalOne(EntityKind.values()[0]);
+            marshalOne(EntityMarkingCharacterSet.values()[0]);
+            marshalOne(EntityVPRecordChangeIndicator.values()[0]);
+            marshalOne(EnvironmentRecordTypeGroups.values()[0]);
+
+            marshalOne(EnvironmentalProcessModelType.values()[0]);
+            marshalOne(EnvironmentalProcessRecordType.values()[0]);
+            marshalOne(EnvironmentalSubcategory.values()[0]);
+            marshalOne(EventReportEventType.values()[0]);
+            marshalOne(ExpendableAirCategory.values()[0]);
+
+            marshalOne(ExpendableSubsurfaceCategory.values()[0]);
+            marshalOne(ExpendableSurfaceCategory.values()[0]);
+            marshalOne(ExplosiveMaterialCategories.values()[0]);
+            marshalOne(ExplosiveMaterialGroups.values()[0]);
+            marshalOne(FlareSmokeColor.values()[0]);
+            marshalOne(FlareSmokeStatus.values()[0]);
+            marshalOne(ForceID.values()[0]);
+            marshalOne(FormatType.values()[0]);
+            marshalOne(FuelLocation.values()[0]);
+            marshalOne(FuelMeasurementUnits.values()[0]);
+            marshalOne(GridAxisDescriptorAxisType.values()[0]);
+            marshalOne(GriddedDataConstantGrid.values()[0]);
+            marshalOne(GriddedDataCoordinateSystem.values()[0]);
+            marshalOne(GriddedDataDataRepresentation.values()[0]);
+            marshalOne(GriddedDataFieldNumber.values()[0]);
+            marshalOne(GriddedDataSampleType.values()[0]);
+            marshalOne(HighDensityTrackJam.values()[0]);
+            marshalOne(HighFidelityHAVEQUICKTODTransmitIndicator.values()[0]);
+            marshalOne(IFFAlternateMode4ChallengeReply.values()[0]);
+            marshalOne(IFFApplicableModes.values()[0]);
+            marshalOne(IFFDataRecordAvailable.values()[0]);
+            marshalOne(IFFLayerSpecificInformation.values()[0]);
+            marshalOne(IFFSimulationMode.values()[0]);
+            marshalOne(IFFSystemMode.values()[0]);
+            marshalOne(IFFSystemName.values()[0]);
+            marshalOne(IFFSystemType.values()[0]);
+            marshalOne(IFFSystemType1OperationalParameter1.values()[0]);
+            marshalOne(IFFSystemType1OperationalParameter2.values()[0]);
+            marshalOne(IOActionIOActionPhase.values()[0]);
+            marshalOne(IOActionIOActionType.values()[0]);
+            marshalOne(IOActionIOSimulationSource.values()[0]);
+            marshalOne(IOActionIOWarfareType.values()[0]);
+            marshalOne(IOCommsNodeRecordCommsNodeType.values()[0]);
+            marshalOne(IOEffectsRecordIOEffect.values()[0]);
+            marshalOne(IOEffectsRecordIOLinkType.values()[0]);
+            marshalOne(IOEffectsRecordIOProcess.values()[0]);
+            marshalOne(IOEffectsRecordIOStatus.values()[0]);
+            marshalOne(IOReportIOReportType.values()[0]);
+            marshalOne(ISLSAntennaType.values()[0]);
+            marshalOne(IntercomControlCommand.values()[0]);
+            marshalOne(IntercomControlCommunicationsClass.values()[0]);
+            marshalOne(IntercomControlCommunicationsType.values()[0]);
+            marshalOne(IntercomControlControlType.values()[0]);
+            marshalOne(IntercomControlDestinationLineStateCommand.values()[0]);
+            marshalOne(IntercomControlRecordType.values()[0]);
+            marshalOne(IntercomControlTransmitLineState.values()[0]);
+            marshalOne(IsGroupOfGroupedEntityCategory.values()[0]);
+            marshalOne(IsGroupOfRestStatus.values()[0]);
+            marshalOne(IsPartOfNature.values()[0]);
+            marshalOne(IsPartOfPosition.values()[0]);
+            marshalOne(IsPartOfStationName.values()[0]);
+            marshalOne(IslandSubcategory.values()[0]);
+            marshalOne(JTIDSMIDSModulationParametersSynchronizationState.values()[0]);
+            marshalOne(JTIDSMIDSModulationParametersTransmittingTerminalPrimaryMode.values()[0]);
+            marshalOne(JTIDSMIDSModulationParametersTransmittingTerminalSecondaryMode.values()[0]);
+
+            marshalOne(LeafCoverage.values()[0]);
+            marshalOne(Level2SquitterStatus.values()[0]);
+            marshalOne(LifeFormAirCategories.values()[0]);
+            marshalOne(LifeFormCategoriesUS.values()[0]);
+            marshalOne(LifeFormExtraPersonalData.values()[0]);
+            marshalOne(LifeFormHumanSpecificAntiMaterielRifles.values()[0]);
+            marshalOne(LifeFormHumanSpecificAntiTankMissiles.values()[0]);
+            marshalOne(LifeFormHumanSpecificAntiTankRockets.values()[0]);
+            marshalOne(LifeFormHumanSpecificAssaultRifles.values()[0]);
+            marshalOne(LifeFormHumanSpecificDroneGuns.values()[0]);
+            marshalOne(LifeFormHumanSpecificEquipmentClass.values()[0]);
+            marshalOne(LifeFormHumanSpecificFlameRockets.values()[0]);
+            marshalOne(LifeFormHumanSpecificFlameThrowers.values()[0]);
+            marshalOne(LifeFormHumanSpecificGrenadeLaunchers.values()[0]);
+            marshalOne(LifeFormHumanSpecificGrenadeLaunchingMachineGun.values()[0]);
+            marshalOne(LifeFormHumanSpecificHandGuns.values()[0]);
+            marshalOne(LifeFormHumanSpecificHighPowerRifles.values()[0]);
+            marshalOne(LifeFormHumanSpecificMachineGuns.values()[0]);
+            marshalOne(LifeFormHumanSpecificManPortableAirDefenseSystem.values()[0]);
+            marshalOne(LifeFormHumanSpecificMortars.values()[0]);
+            marshalOne(LifeFormHumanSpecificRecoillessRifles.values()[0]);
+            marshalOne(LifeFormHumanSpecificShotGuns.values()[0]);
+            marshalOne(LifeFormHumanSpecificSniper.values()[0]);
+            marshalOne(LifeFormHumanSpecificSubMachineGun.values()[0]);
+            marshalOne(LifeFormHumanSpecificWeaponNonspecific.values()[0]);
+            marshalOne(LifeFormHumanSubcategoryEquipmentClass.values()[0]);
+            marshalOne(LifeFormLandCategories.values()[0]);
+            marshalOne(LifeFormSubsurfaceCategories.values()[0]);
+
+            marshalOne(LifeFormsSubcategoryCISWeapons.values()[0]);
+            marshalOne(LifeFormsSubcategoryFrenchWeapons.values()[0]);
+            marshalOne(LifeFormsSubcategoryGermanWeapons.values()[0]);
+            marshalOne(LifeFormsSubcategoryIranianWeapons.values()[0]);
+            marshalOne(LifeFormsSubcategoryUKWeapons.values()[0]);
+            marshalOne(LifeFormsSubcategoryUSWeapons.values()[0]);
+            marshalOne(LifeSavingEquipment.values()[0]);
+
+            marshalOne(Link1111BDataTerminalSetIndicator.values()[0]);
+            marshalOne(Link1111BFidelityLevel.values()[0]);
+            marshalOne(Link1111BModeofOperation.values()[0]);
+            marshalOne(Link1111BTerminalMode.values()[0]);
+            marshalOne(Material.values()[0]);
+            marshalOne(MinefieldAppearanceActiveStatus.values()[0]);
+            marshalOne(MinefieldAppearanceLane.values()[0]);
+            marshalOne(MinefieldAppearanceMinefieldType.values()[0]);
+            marshalOne(MinefieldAppearanceState.values()[0]);
+
+            marshalOne(MinefieldFusingFuseType.values()[0]);
+            marshalOne(MinefieldPaintSchemeAlgae.values()[0]);
+            marshalOne(MinefieldPaintSchemePaintScheme.values()[0]);
+            marshalOne(MinefieldSensorTypes.values()[0]);
+            marshalOne(MinefieldSensorTypesFLIR.values()[0]);
+            marshalOne(MinefieldSensorTypesLaser.values()[0]);
+            marshalOne(MinefieldSensorTypesMagnetic.values()[0]);
+            marshalOne(MinefieldSensorTypesMultispectral.values()[0]);
+            marshalOne(MinefieldSensorTypesOptical.values()[0]);
+            marshalOne(MinefieldSensorTypesPhysical.values()[0]);
+            marshalOne(MinefieldSensorTypesRADAR.values()[0]);
+            marshalOne(MinefieldSensorTypesSONAR.values()[0]);
+
+            marshalOne(MinefieldStateProtocolMode.values()[0]);
+            marshalOne(Mode5IFFMission.values()[0]);
+            marshalOne(Mode5LevelSelection.values()[0]);
+            marshalOne(Mode5LocationErrors.values()[0]);
+            marshalOne(Mode5MessageFormatsStatus.values()[0]);
+            marshalOne(Mode5PlatformType.values()[0]);
+            marshalOne(Mode5Reply.values()[0]);
+            marshalOne(Mode5SAltitudeResolution.values()[0]);
+            marshalOne(Mode5SquitterType.values()[0]);
+            marshalOne(ModeCAltitudeIndicator.values()[0]);
+            marshalOne(ModeSInterrogatorIdentifierICType.values()[0]);
+            marshalOne(ModeSInterrogatorStatusTransmitState.values()[0]);
+            marshalOne(ModeSSquitterRecordSource.values()[0]);
+            marshalOne(ModeSSquitterType.values()[0]);
+
+            marshalOne(MunitionCategory.values()[0]);
+            marshalOne(MunitionDescriptorFuse.values()[0]);
+            marshalOne(MunitionDescriptorWarhead.values()[0]);
+            marshalOne(MunitionDomain.values()[0]);
+            marshalOne(MunitionExpendableStatus.values()[0]);
+            marshalOne(NETIDRecordFrequencyTable.values()[0]);
+            marshalOne(NETIDRecordMode.values()[0]);
+            marshalOne(NavigationSource.values()[0]);
+
+            marshalOne(ObjectKind.values()[0]);
+
+            marshalOne(OwnershipStatus.values()[0]);
+            marshalOne(Parachute.values()[0]);
+            marshalOne(PhysicalAssociationTypeGroups.values()[0]);
+            marshalOne(PlatformAirCategory.values()[0]);
+            marshalOne(PlatformAirCivilianFixedWingAircraftSubcategories.values()[0]);
+            marshalOne(PlatformAirCivilianGliderSubcategories.values()[0]);
+            marshalOne(PlatformAirCivilianHelicopterSubcategories.values()[0]);
+            marshalOne(PlatformAirCivilianLighterthanAirAirshipSubcategories.values()[0]);
+            marshalOne(PlatformAirCivilianLighterthanAirBalloonSubcategories.values()[0]);
+            marshalOne(PlatformAirCivilianUltralightNonrigidWingAircraftSubcategories.values()[0]);
+            marshalOne(PlatformAirCivilianUltralightRigidWingAircraftSubcategories.values()[0]);
+            marshalOne(PlatformDomain.values()[0]);
+            marshalOne(PlatformLandBusSubcategories.values()[0]);
+            marshalOne(PlatformLandCarSubcategories.values()[0]);
+            marshalOne(PlatformLandCategory.values()[0]);
+            marshalOne(PlatformLandConstructionSpecialtyVehicleSubcategories.values()[0]);
+            marshalOne(PlatformLandFarmSpecialtyVehicleSubcategories.values()[0]);
+            marshalOne(PlatformLandMotorcycleSubcategories.values()[0]);
+            marshalOne(PlatformLandMultipleUnitCargoTruckSubcategories.values()[0]);
+            marshalOne(PlatformLandMultipleUnitUtilityEmergencyTruckSubcategories.values()[0]);
+            marshalOne(PlatformLandNonmotorizedSubcategories.values()[0]);
+            marshalOne(PlatformLandRecreationalSubcategories.values()[0]);
+            marshalOne(PlatformLandSingleUnitCargoTruckSubcategories.values()[0]);
+            marshalOne(PlatformLandSingleUnitUtilityEmergencyTruckSubcategories.values()[0]);
+            marshalOne(PlatformLandTrailerSubcategories.values()[0]);
+            marshalOne(PlatformLandTrainsSubcategories.values()[0]);
+            marshalOne(PlatformLandUtilityEmergencyCarSubcategories.values()[0]);
+            marshalOne(PlatformSpaceCategory.values()[0]);
+            marshalOne(PlatformSubsurfaceCategory.values()[0]);
+            marshalOne(PlatformSubsurfaceCivilianSemiSubmersiblesSubcategories.values()[0]);
+            marshalOne(PlatformSubsurfaceCivilianSubmarineSubcategories.values()[0]);
+            marshalOne(PlatformSubsurfaceCivilianSubmersibleSubcategories.values()[0]);
+            marshalOne(PlatformSurfaceCategory.values()[0]);
+            marshalOne(PlatformSurfaceDryCargoShipSubcategories.values()[0]);
+            marshalOne(PlatformSurfaceFishingVesselSubcategories.values()[0]);
+            marshalOne(PlatformSurfaceOtherVesselsSubcategories.values()[0]);
+            marshalOne(PlatformSurfacePassengerVesselSubcategories.values()[0]);
+            marshalOne(PlatformSurfacePrivateMotorboatSubcategories.values()[0]);
+            marshalOne(PlatformSurfacePrivateSailboatSubcategories.values()[0]);
+            marshalOne(PlatformSurfaceSupportVesselSubcategories.values()[0]);
+            marshalOne(PlatformSurfaceTankerSubcategories.values()[0]);
+
+            marshalOne(RadioCategory.values()[0]);
+            marshalOne(RadioSubcategory.values()[0]);
+            marshalOne(ReceiverReceiverState.values()[0]);
+            marshalOne(RecordQueryREventType.values()[0]);
+            marshalOne(RecordREventType.values()[0]);
+            marshalOne(RepairCompleteRepair.values()[0]);
+            marshalOne(RepairGroups.values()[0]);
+            marshalOne(RepairResponseRepairResult.values()[0]);
+            marshalOne(ReplyAmplification.values()[0]);
+            marshalOne(RequiredReliabilityService.values()[0]);
+            marshalOne(Season.values()[0]);
+
+            marshalOne(SensorEmitterCategory.values()[0]);
+            marshalOne(SensorOnOffStatus.values()[0]);
+            marshalOne(SensorRecordSensorTypeOtherActiveSensors.values()[0]);
+            marshalOne(SensorRecordSensorTypePassiveSensors.values()[0]);
+            marshalOne(SensorTypeSource.values()[0]);
+            marshalOne(SeparationVPPreEntityIndicator.values()[0]);
+            marshalOne(SeparationVPReasonforSeparation.values()[0]);
+            marshalOne(ServiceRequestServiceTypeRequested.values()[0]);
+            marshalOne(SignalEncodingClass.values()[0]);
+            marshalOne(SignalEncodingType.values()[0]);
+            marshalOne(SignalTDLType.values()[0]);
+            marshalOne(SignalUserProtocolIdentificationNumber.values()[0]);
+
+            marshalOne(SpecificDimensionEnumerationsforAirAreaSize.values()[0]);
+            marshalOne(SpecificDimensionEnumerationsforLandAreaSize.values()[0]);
+            marshalOne(SpotChaffStatus.values()[0]);
+
+            marshalOne(StopFreezeReason.values()[0]);
+            marshalOne(SubcategoriesforAirCategory200Bird.values()[0]);
+            marshalOne(SubcategoriesforAirCategory201Insect.values()[0]);
+            marshalOne(SubcategoriesforAirCategory202Mammal.values()[0]);
+            marshalOne(SubcategoriesforLandCategory200Mammal.values()[0]);
+            marshalOne(SubcategoriesforLandCategory201Reptile.values()[0]);
+            marshalOne(SubcategoriesforLandCategory202Amphibian.values()[0]);
+            marshalOne(SubcategoriesforLandCategory203Insect.values()[0]);
+            marshalOne(SubcategoriesforLandCategory204Arachnid.values()[0]);
+            marshalOne(SubcategoriesforLandCategory205Mollusk.values()[0]);
+            marshalOne(SubcategoriesforLandCategory206Marsupial.values()[0]);
+            marshalOne(SubcategoriesforSubsurfaceCategory200Fish.values()[0]);
+            marshalOne(SubcategoriesforSubsurfaceCategory201Mammal.values()[0]);
+            marshalOne(SubcategoriesforSubsurfaceCategory202Mollusk.values()[0]);
+            marshalOne(SubcategoriesforSubsurfaceCategory203Crustacean.values()[0]);
+            marshalOne(SubcategoriesforSubsurfaceCategory204Insect.values()[0]);
+
+            marshalOne(SupplyDomain.values()[0]);
+            marshalOne(SupplyFuelType.values()[0]);
+
+            marshalOne(SurveillanceStatus.values()[0]);
+            marshalOne(TCASACASBasicAdvancedIndicator.values()[0]);
+            marshalOne(TCASACASIndicator.values()[0]);
+            marshalOne(TCASACASSoftwareVersion.values()[0]);
+            marshalOne(TCASACASType.values()[0]);
+            marshalOne(TCASIIIType.values()[0]);
+            marshalOne(TILinkType.values()[0]);
+            marshalOne(TimeTypeSource.values()[0]);
+            marshalOne(TransferControlTransferType.values()[0]);
+            marshalOne(TransmissionIndicator.values()[0]);
+            marshalOne(TransmitterAntennaPatternReferenceSystem.values()[0]);
+            marshalOne(TransmitterAntennaPatternType.values()[0]);
+            marshalOne(TransmitterCryptoSystem.values()[0]);
+            marshalOne(TransmitterDetailAmplitudeModulation.values()[0]);
+            marshalOne(TransmitterDetailAmplitudeandAngleModulation.values()[0]);
+            marshalOne(TransmitterDetailAnglemodulation.values()[0]);
+            marshalOne(TransmitterDetailCarrierPhaseShiftModulation.values()[0]);
+            marshalOne(TransmitterDetailCombinationModulation.values()[0]);
+            marshalOne(TransmitterDetailPulseModulation.values()[0]);
+            marshalOne(TransmitterDetailSATCOMModulation.values()[0]);
+            marshalOne(TransmitterDetailUnmodulatedModulation.values()[0]);
+            marshalOne(TransmitterInputSource.values()[0]);
+            marshalOne(TransmitterMajorModulation.values()[0]);
+            marshalOne(TransmitterModulationTypeSystem.values()[0]);
+            marshalOne(TransmitterTransmitState.values()[0]);
+            marshalOne(TransponderInterrogatorIndicator.values()[0]);
+            marshalOne(TurnRateSource.values()[0]);
+            marshalOne(UAAcousticEmitterSystemFunction.values()[0]);
+            marshalOne(UAAcousticSystemName.values()[0]);
+            marshalOne(UAActiveEmissionParameterIndex.values()[0]);
+            marshalOne(UAAdditionalPassiveActivityParameterIndex.values()[0]);
+            marshalOne(UAPassiveParameterIndex.values()[0]);
+
+            marshalOne(UAPropulsionPlantConfigurationConfiguration.values()[0]);
+            marshalOne(UAScanPattern.values()[0]);
+            marshalOne(UAStateChangeUpdateIndicator.values()[0]);
+            marshalOne(VariableParameterRecordType.values()[0]);
+            marshalOne(VariableRecordTypes.values()[0]);
+            marshalOne(VariantsforAirCategory200Bird.values()[0]);
+            marshalOne(VariantsforLandCategoriesReptilesAmphibiansInsectsandArachnids.values()[0]);
+            marshalOne(VariantsforSubsurfaceCategory201Mammal.values()[0]);
+
+            
+            System.out.println("Testing BitSets");
+            /* DisBitSets which were taken from the alphabetical list above where the spaces are */
+
+            // Testing import of particular Bits class
+            marshalOne(new AirPlatformAppearance(AirPlatformAppearance.AFTERBURNER_ON,1),"17");
+            
+            marshalOne(new AirPlatformAppearance().set(AirPlatformAppearance.CANOPY_TROOP_DOOR, AppearanceCanopy.REAR_CANOPY_RIGHT_TROOP_DOOR_OPEN.getValue()),"9 3bitslen = 5");
+            
+            marshalOne(new ArealObjectAppearanceMinefield().set(ArealObjectAppearanceMinefield.BREACH_STATE, 1),"");
+            marshalOne(new CulturalFeatureAppearance().set(CulturalFeatureAppearance.DAMAGE, 1),"");
+            marshalOne(new CulturalFeatureCapabilities().set(CulturalFeatureCapabilities.IED_PRESENCE_INDICATOR, 1),"");
+            marshalOne(new DEDamageDescriptionComponentVisualDamageStatus().set(DEDamageDescriptionComponentVisualDamageStatus.IS_FIRE_PRESENT, 1),"");
+            marshalOne(new DEFireFlags().set(DEFireFlags.STATE_UPDATE_FLAG, 1),"");
+            marshalOne(new EnvironmentalAppearance().set(EnvironmentalAppearance.DENSITY, 1),"");
+            
+            marshalOne(new EnvironmentalAppearance().set(EnvironmentalAppearance.DENSITY, 3).set(EnvironmentalAppearance.IS_FROZEN, 1),"");
+            
+            marshalOne(new EnvironmentalCapabilities().set(EnvironmentalCapabilities.IED_PRESENCE_INDICATOR, 1),"");
+            marshalOne(new EnvironmentalProcessEnvironmentStatus().set(EnvironmentalProcessEnvironmentStatus.IS_ACTIVE, 1),"");
+            marshalOne(new ExpendableAppearance().set(ExpendableAppearance.DAMAGE, 1),"");
+            marshalOne(new ExpendableCapabilities().set(ExpendableCapabilities.RESERVED, 1),"");
+            marshalOne(new LandPlatformAppearance().set(LandPlatformAppearance.BLACKOUT_BRAKE_LIGHTS_ON, 1),"");
+            marshalOne(new LandPlatformCapabilities().set(LandPlatformCapabilities.AMMUNITION_SUPPLY, 1),"");
+            marshalOne(new LifeFormsAppearance().set(LifeFormsAppearance.CAMOUFLAGE_TYPE,1),"");
+            marshalOne(new LifeFormsCapabilities().set(LifeFormsCapabilities.AMMUNITION_SUPPLY, 1),"");
+            marshalOne(new LinearObjectAppearanceExhaustSmoke().set(LinearObjectAppearanceExhaustSmoke.CHEMICAL_TYPE, 1),"");
+            marshalOne(new LinearObjectAppearanceMinefieldLaneMarker().set(LinearObjectAppearanceMinefieldLaneMarker.VISIBLE_SIDE, 1),"");
+            marshalOne(new LinearObjectAppearanceSpeedBump().set(LinearObjectAppearanceSpeedBump.COLOR, 1),"");
+            marshalOne(new LinearObjectAppearanceTankDitchAndConcertinaWire().set(LinearObjectAppearanceTankDitchAndConcertinaWire.BREACH_LENGTH, 1),"");
+            marshalOne(new LinearObjectAppearanceWire().set(LinearObjectAppearanceWire.COLOR, 1),"");
+            marshalOne(new MinefieldDataFusing().set(MinefieldDataFusing.HAS_ANTI_HANDLING_DEVICE,1),"");
+            marshalOne(new MinefieldDataPaintScheme().set(MinefieldDataPaintScheme.ALGAE, 1),"");
+            marshalOne(new MinefieldStateAppearanceBitMap().set(MinefieldStateAppearanceBitMap.ACTIVE_STATUS, 1),"");
+            marshalOne(new MunitionAppearance().set(MunitionAppearance.COVER_SHROUD_STATUS, 1),"");
+            marshalOne(new MunitionCapabilities().set(MunitionCapabilities.IED_PRESENCE_INDICATOR, 1),"");
+            marshalOne(new NonHumanLifeFormsAppearance().set(NonHumanLifeFormsAppearance.HEALTH, 1),"");
+            marshalOne(new ObjectStateAppearanceGeneral().set(ObjectStateAppearanceGeneral.DAMAGE, 1),"");
+            marshalOne(new ObjectStateModificationArealObject().set(ObjectStateModificationArealObject.IS_LOCATION_MODIFIED, 1),"");
+            marshalOne(new ObjectStateModificationLinearObject().set(ObjectStateModificationLinearObject.IS_LOCATION_MODIFIED, 1),"");
+            marshalOne(new ObjectStateModificationPointObject().set(ObjectStateModificationPointObject.IS_LOCATION_MODIFIED, 1),"");
+            marshalOne(new PointObjectAppearanceAirGroundBurst().set(PointObjectAppearanceAirGroundBurst.CHEMICAL_TYPE, 1),"");
+            marshalOne(new PointObjectAppearanceBuildingStructure().set(PointObjectAppearanceBuildingStructure.COLOR, 1),"");
+            marshalOne(new PointObjectAppearanceCrater().set(PointObjectAppearanceCrater.BREACH_STATE, 1),"");
+            marshalOne(new PointObjectAppearanceDisturbedEarthRoad().set(PointObjectAppearanceDisturbedEarthRoad.CONTRAST, 1),"");
+            marshalOne(new PointObjectAppearanceLogCribAbatisEtAl().set(PointObjectAppearanceLogCribAbatisEtAl.BREACH_STATE, 1),"");
+            marshalOne(new PointObjectAppearancePothole().set(PointObjectAppearancePothole.DEPTH, 1),"");
+            marshalOne(new PointObjectAppearanceRibbonBridge().set(PointObjectAppearanceRibbonBridge.NUMBER_OF_SEGMENTS, 1),"");
+            marshalOne(new PointObjectAppearanceTree().set(PointObjectAppearanceTree.LEAF_COVERAGE, 1),"");
+            marshalOne(new RadioAppearance().set(RadioAppearance.IS_FROZEN, 1),"");
+            marshalOne(new RadioCapabilities().set(RadioCapabilities.RESERVED, 1),"");
+            marshalOne(new SensorEmitterAppearance().set(SensorEmitterAppearance.ANTENNA_RAISED, 1),"");
+            marshalOne(new SensorEmitterCapabilities().set(SensorEmitterCapabilities.IED_PRESENCE_INDICATOR, 1),"");
+            marshalOne(new SpacePlatformAppearance().set(SpacePlatformAppearance.DAMAGE, 1),"");
+            marshalOne(new SpacePlatformCapabilities().set(SpacePlatformCapabilities.AMMUNITION_SUPPLY, 1),"");
+            marshalOne(new StopFreezeFrozenBehavior().set(StopFreezeFrozenBehavior.PROCESS_UPDATES, 1),"");
+            marshalOne(new SubsurfacePlatformAppearance().set(SubsurfacePlatformAppearance.DAMAGE, 1),"");
+            marshalOne(new SubsurfacePlatformCapabilities().set(SubsurfacePlatformCapabilities.AMMUNITION_SUPPLY, 1),"");
+            marshalOne(new SupplyAppearance().set(SupplyAppearance.DAMAGE, 1),"");
+            marshalOne(new SupplyCapabilities().set(SupplyCapabilities.AMMUNITION_SUPPLY, 1),"");
+            marshalOne(new SurfacePlatformAppearance().set(SurfacePlatformAppearance.DAMAGE, 1),"");
+            marshalOne(new SurfacePlatformCapabilities().set(SurfacePlatformCapabilities.AMMUNITION_SUPPLY, 1),"");
+            marshalOne(new UAPropulsionPlantConfiguration().set(UAPropulsionPlantConfiguration.CONFIGURATION, 1),"");
+            
+            // classes with no enumerated bit positions
+            marshalOne(new LinearObjectAppearanceBreach().set(0,1,1),"");
+            marshalOne(new PointObjectAppearanceBuildingRubble().set(0,1,1),"");
+            marshalOne(new PointObjectAppearanceStationaryBridgeAndAVLB().set(0,1,1),"");
+        }
+        catch (Throwable t) {
+            thr = t;
+        }
+        if(thr != null) thr.printStackTrace();
+    //temp    assertNull(thr, "Exception should be null if successful marshal");
+        System.out.println(""+count+" enums and disbitsets tested");
+    }
+    int count = 0;
+
+    private void marshalOne(Enum en) throws Throwable
+    {
+        Throwable thr = null;
+        try {
+            Exception ex = null;
+            ByteBuffer bb = ByteBuffer.allocate(100);
+            marshalIt(en, bb);
+            int sz = getMarshalSize(en);
+            //temp assertEquals(sz, bb.position(), "Marshalled array should be " + sz + " bytes long");
+          //  dump(en, sz, bb);
+        }
+        catch (Throwable t) {
+            thr = t;
+        }
+  //temp      assertNull(thr, "Exception should be null if successful marshal");
+        count++;
+    }
+
+    private void marshalIt(Enum en, ByteBuffer bb) throws Throwable
+    {
+        Class c = en.getClass();
+        Method meth = c.getDeclaredMethod("marshal", new Class[]{ByteBuffer.class});
+        meth.invoke(en, bb);
+    }
+
+    private int getMarshalSize(Enum en) throws Throwable
+    {
+        Class c = en.getClass();
+        Method meth = c.getDeclaredMethod("getMarshalledSize", (Class[]) null);
+        return (Integer) meth.invoke(en, (Object[]) null);
+    }
+
+    private void marshalOne(DisBitSet bs, String s) throws Throwable
+    {
+        Throwable thr = null;
+        try {
+            Exception ex = null;
+            ByteBuffer bb = ByteBuffer.allocate(100);
+            bs.marshal(bb);
+            int sz = bs.getMarshalledSize();
+            assertEquals(sz, bb.position(), "Marshalled array should be " + sz + " bytes long");
+            System.out.print(s+" ");
+         //   dump(bs, bb);
+        }
+        catch (Throwable t) {
+            thr = t;
+        }
+        //tempassertNull(thr, "Exception should be null if successful marshal");
+        count++;
+    }
+    
+    private void dump(Enum en, int sz, ByteBuffer bb)
+    {
+        System.out.print(en.getClass().getSimpleName() + "(" + sz + "): ");
+        dumpCommon(bb);
+    }
+
+    private void dump(DisBitSet bs, ByteBuffer bb)
+    {
+        System.out.print(bs.getClass().getSimpleName() + "(" + bs.getMarshalledSize() + "): ");
+        dumpCommon(bb);
+    }
+
+    private void dumpCommon(ByteBuffer bb)
+    {
+        for (int i = 0; i < bb.position(); i++) {
+            System.out.print(String.format("%02X ", bb.array()[i]));
+        }
+        System.out.println();
+    }
+
+}
diff --git a/test/edu/nps/moves/dis7/NewEmptyJUnitTest.java b/test/edu/nps/moves/dis7/NewEmptyJUnitTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..f884b5f09c5c64fd26623cdc6d7b7fd4b7fb4b81
--- /dev/null
+++ b/test/edu/nps/moves/dis7/NewEmptyJUnitTest.java
@@ -0,0 +1,51 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package edu.nps.moves.dis7;
+
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
+import static org.junit.jupiter.api.Assertions.*;
+
+/**
+ *
+ * @author mike
+ */
+public class NewEmptyJUnitTest
+{
+  
+  public NewEmptyJUnitTest()
+  {
+  }
+  
+  @BeforeAll
+  public static void setUpClass()
+  {
+  }
+  
+  @AfterAll
+  public static void tearDownClass()
+  {
+  }
+  
+  @BeforeEach
+  public void setUp()
+  {
+  }
+  
+  @AfterEach
+  public void tearDown()
+  {
+  }
+
+  // TODO add test methods here.
+  // The methods must be annotated with annotation @Test. For example:
+  //
+  // @Test
+  // public void hello() {}
+}
diff --git a/test/edu/nps/moves/dis7/NullFieldsMarshallTest.java b/test/edu/nps/moves/dis7/NullFieldsMarshallTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..3634fd5096708e4be5b602c03e7a8a83b846ad66
--- /dev/null
+++ b/test/edu/nps/moves/dis7/NullFieldsMarshallTest.java
@@ -0,0 +1,95 @@
+/**
+ * NullFieldsMarshallTest()); created on May 20, 2019 MOVES Institute Naval Postgraduate School, Monterey, CA, USA www.nps.edu
+ *
+ * @author Mike Bailey, jmbailey@edu.nps.edu
+ * @version $Id$
+ */
+package edu.nps.moves.dis7;
+
+import edu.nps.moves.dis7.entities.usa.platform.land.LAV_105;
+import java.nio.ByteBuffer;
+import org.junit.jupiter.api.*;
+import static org.junit.jupiter.api.Assertions.*;
+
+@DisplayName("Null Fields Entity Marshal")
+public class NullFieldsMarshallTest
+{
+    LAV_105 lav105;
+
+    @BeforeAll
+    public static void beforeAllTests()
+    {}
+    
+    @AfterAll
+    public static void afterAllTests()
+    {}
+    
+    @BeforeEach
+    public void setUp()
+    {
+        lav105 = new LAV_105();
+    }
+    
+    @AfterEach
+    public void tearDown()
+    {
+        lav105 = null;
+    }
+
+    @Test
+    public void testNoSpecificNoExtraMarshal()
+    {
+        System.out.println("Test no specific, no extra marshal");
+        Exception ex=null;
+        ByteBuffer bb = ByteBuffer.allocate(100);
+        try {
+            dumpET(lav105);
+            lav105.marshal(bb);
+            dumpBb(bb);
+        }
+        catch(Exception e) {
+            ex = e;
+        }
+   //temp     assertNull(ex,"Exception should be null if successful marshal");
+   //temp     assertEquals(8, bb.position(), "Marshalled array should be 8 bytes long");
+    }
+    
+    @Test
+    public void testGoodMarshall()
+    {
+        /*
+        System.out.println("Test with FF for specific and extra marshal");
+        lav105.setExtra((byte)0xff);
+        lav105.setSpecific((byte)0xff);
+        Exception ex=null;
+        ByteBuffer bb = ByteBuffer.allocate(100);
+        try {
+            dumpET(lav105);     
+            lav105.marshal(bb);
+            dumpBb(bb);
+        }
+        catch(Exception e) {
+            ex = e;
+        }
+        assertNull(ex,"Exception should be null if successful marshal");
+        assertEquals(8,bb.position(), "Marshalled array should be 8 bytes long");
+*/
+    }
+
+    private void dumpBb(ByteBuffer bb)
+    {
+        for (int i=0;i<bb.position();i++)
+          System.out.print(String.format("%02X ", bb.array()[i]));
+        System.out.println();
+    }
+    private void dumpET(EntityType et)
+    {
+        System.out.println("LAV_105 country: "+et.getCountry());
+        System.out.println("LAV_105 domain: "+et.getDomain());
+        System.out.println("LAV_105 entity kind: "+et.getEntityKind());
+        System.out.println("LAV_105 category: "+et.getCategory());
+        System.out.println("LAV_105 subcategory: "+et.getSubCategory());
+        System.out.println("LAV_105 specific: "+et.getSpecific());
+        System.out.println("LAV_105 extra: "+et.getExtra());
+    }
+}
diff --git a/test/edu/nps/moves/dis7/ObjectTypeMarshallTest.java b/test/edu/nps/moves/dis7/ObjectTypeMarshallTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..ff1d34e1e6dcb7bf52d68ed7aca8b6d104657171
--- /dev/null
+++ b/test/edu/nps/moves/dis7/ObjectTypeMarshallTest.java
@@ -0,0 +1,81 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package edu.nps.moves.dis7;
+
+//import edu.nps.moves.dis.ObjectType;
+import edu.nps.moves.dis7.objecttypes.LinearObject.Culturalfeature.Tracks_Tire.Tracks_Tire;
+import edu.nps.moves.dis7.objecttypes.LinearObject.Obstacle.ConcertinaWire._2_Roll._2_Roll;
+import java.nio.ByteBuffer;
+import org.junit.jupiter.api.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
+
+@DisplayName("Object Type Marshal Test")
+public class ObjectTypeMarshallTest
+{
+    @BeforeAll
+    public static void setUpClass(){}
+    @AfterAll
+    public static void tearDownClass(){}
+    @BeforeEach
+    public void setUp(){}
+    @AfterEach
+    public void tearDown(){}
+
+    @Test
+    public void testGoodMarshall()
+    {
+        Throwable thr = null;
+        try {
+            _2_Roll roll2 = new _2_Roll();
+            common(roll2);
+        }
+        catch (Throwable t) {
+            thr = t;
+        }
+        assertNull(thr, "Exception should be null if successful marshal");
+    }
+    
+    @Test
+    public void testNoSubCategory()
+    {
+        Throwable thr = null;
+        try {
+            Tracks_Tire tracksTire = new Tracks_Tire();
+            common(tracksTire);
+        }
+        catch (Throwable t) {
+            thr = t;
+        }
+        assertNull(thr, "Exception should be null if successful marshal");
+    }
+    
+    private void common(ObjectType ot) throws Throwable
+    {
+        Exception ex = null;
+        ByteBuffer bb = ByteBuffer.allocate(100);
+        //dumpOT(ot);
+        ot.marshal(bb);
+        assertEquals(4, bb.position(), "Marshalled array should be 4 bytes long");
+        //dumpBb(bb);
+    }
+    
+    private void dumpBb(ByteBuffer bb)
+    {
+        for (int i = 0; i < bb.position(); i++) {
+            System.out.print(String.format("%02X ", bb.array()[i]));
+        }
+        System.out.println();
+    }
+
+    private void dumpOT(ObjectType ot)
+    {
+        System.out.println("ObjectType domain: " + ot.getDomain());
+        System.out.println("ObjectType object kind: " + ot.getObjectKind());
+        System.out.println("ObjectType category: " + ot.getCategory());
+        System.out.println("ObjectType subcategory: " + ot.getSubCategory());
+    }
+}
diff --git a/test/edu/nps/moves/dis7/TestPduFactory1.java b/test/edu/nps/moves/dis7/TestPduFactory1.java
new file mode 100644
index 0000000000000000000000000000000000000000..255323c9dae1e7dd6e54ba37d18230a2d7e9971f
--- /dev/null
+++ b/test/edu/nps/moves/dis7/TestPduFactory1.java
@@ -0,0 +1,143 @@
+package edu.nps.moves.dis7;
+
+/**
+ *
+ * @author Mike Bailey, jmbailey@edu.nps.edu
+ * @version $Id$
+ */
+
+import edu.nps.moves.dis7.enumerations.Country;
+import edu.nps.moves.dis7.util.PduFactory;
+import java.util.Arrays;
+import org.junit.jupiter.api.*;
+import static org.junit.jupiter.api.Assertions.assertNull;
+
+@DisplayName("PduFactory All Pdus Create")
+
+public class TestPduFactory1
+{
+    @BeforeAll
+    public static void beforeAllTests()
+    {
+    }
+
+    @AfterAll
+    public static void afterAllTests()
+    {
+    }
+
+    @BeforeEach
+    public void setUp()
+    {
+    }
+
+    @AfterEach
+    public void tearDown()
+    {
+    }
+
+    @Test
+    public void testCreateAllPdus()
+    {
+        Throwable ex = null;
+        try {
+            //Arrays.stream(PduFactory.class.getDeclaredMethods()).forEach(m->System.out.println(m.getName()));
+            PduFactory fact = new PduFactory(Country.PHILIPPINES_PHL, (byte) 11, (byte) 22, (short) 33, true);
+
+            fact.makeAcknowledgePdu();
+            fact.makeAcknowledgeReliablePdu();
+            fact.makeActionRequestPdu();
+            fact.makeActionRequestReliablePdu();
+            fact.makeActionResponsePdu();
+            fact.makeActionResponseReliablePdu();
+            fact.makeAggregateStatePdu();
+            fact.makeAppearancePdu();
+            fact.makeArealObjectStatePdu();
+            fact.makeArticulatedPartsPdu();
+            fact.makeAttributePdu();
+            fact.makeCollisionElasticPdu();
+            fact.makeCollisionPdu();
+            fact.makeCommentPdu();
+            fact.makeCommentReliablePdu();
+            fact.makeCreateEntityPdu();
+            fact.makeCreateEntityReliablePdu();
+            fact.makeDataPdu();
+            fact.makeDataQueryPdu();
+            fact.makeDataQueryReliablePdu();
+            fact.makeDataReliablePdu();
+            fact.makeDesignatorPdu();
+            fact.makeDetonationPdu();
+            fact.makeDirectedEnergyFirePdu();
+            fact.makeElectronicEmissionsPdu();
+            fact.makeEntityDamageStatusPdu();
+            fact.makeEntityStatePdu();
+            fact.makeEntityStateUpdatePdu();
+            fact.makeEnvironmentalProcessPdu();
+            fact.makeEventReportPdu();
+            fact.makeEventReportReliablePdu();
+            fact.makeFirePdu();
+            fact.makeGriddedDataPdu();
+            fact.makeIffPdu();
+            fact.makeInformationOperationsReportPdu();
+            fact.makeInformationOperationsActionPdu();
+            fact.makeIntercomControlPdu();
+            fact.makeIntercomSignalPdu();
+            fact.makeIsGroupOfPdu();
+            fact.makeIsPartOfPdu();
+            fact.makeLEDetonationPdu();
+            fact.makeLEFirePdu();
+            fact.makeLinearObjectStatePdu();
+            fact.makeMinefieldDataPdu();
+            fact.makeMinefieldQueryPdu();
+            fact.makeMinefieldResponseNackPdu();
+            fact.makeMinefieldStatePdu();
+            fact.makePointObjectStatePdu();
+            fact.makeReceiverPdu();
+            fact.makeRecordQueryReliablePdu();
+            fact.makeRecordReliablePdu();
+            fact.makeRemoveEntityPdu();
+            fact.makeRemoveEntityReliablePdu();
+            fact.makeRepairCompletePdu();
+            fact.makeRepairResponsePdu();
+            fact.makeResupplyCancelPdu();
+            fact.makeResupplyOfferPdu();
+            fact.makeResupplyReceivedPdu();
+            fact.makeSeesPdu();
+            fact.makeServiceRequestPdu();
+            fact.makeSetDataPdu();
+            fact.makeSetDataReliablePdu();
+            fact.makeSetRecordReliablePdu();
+            fact.makeSignalPdu();
+            fact.makeStartResumePdu();
+            fact.makeStartResumeReliablePdu();
+            fact.makeStopFreezePdu();
+            fact.makeStopFreezeReliablePdu();
+            fact.makeTransferOwnershipPdu();
+            fact.makeTransmitterPdu();
+            fact.makeTspiPdu();
+            fact.makeUnderwaterAcousticPdu(); 
+        }
+        catch (Throwable t) {
+            ex = t;
+            System.out.println(t.getLocalizedMessage());
+            t.printStackTrace();
+        }
+
+        assertNull(ex, "Exception should be null if successful creation of all objects");
+    }
+
+    String formatStr = "Name: %s\tDomain: %s\tKind: %s\tCategory: %s\tSubcategory: %s";
+
+    private void dumpObjectType(ObjectType ot)
+    {
+    }
+
+    private void actualDumpObjectType(ObjectType ot)
+    {
+        String dom = ot.getDomain().toString();
+        String kind = ot.getObjectKind().toString();;
+        String nm = ot.getClass().getName();
+        System.out.println(String.format(formatStr, nm, dom, kind, ot.getCategory(), ot.getSubCategory()));
+    }
+
+}