diff --git a/examplelibs/open-dis7-entities-usa-surface.jar b/examplelibs/open-dis7-entities-usa-surface.jar
new file mode 100644
index 0000000000000000000000000000000000000000..2a13d68b91b4e23e97568e7cf6a27dc6800a8c30
Binary files /dev/null and b/examplelibs/open-dis7-entities-usa-surface.jar differ
diff --git a/nbproject/project.properties b/nbproject/project.properties
index 7537470890b13a80904d87feff7f2b302c1a7e15..01fb788d159585133594d55f84fab12d30cae6ab 100644
--- a/nbproject/project.properties
+++ b/nbproject/project.properties
@@ -35,9 +35,11 @@ dist.jlink.dir=${dist.dir}/jlink
 dist.jlink.output=${dist.jlink.dir}/open-dis7-java
 endorsed.classpath=
 excludes=
+file.reference.open-dis7-entities-usa-surface.jar=examplelibs/open-dis7-entities-usa-surface.jar
 includes=**
 jar.compress=false
-javac.classpath=
+javac.classpath=\
+    ${file.reference.open-dis7-entities-usa-surface.jar}
 # Space-separated list of extra javac options
 javac.compilerargs=
 javac.deprecation=false
diff --git a/src-generated/edu/nps/moves/dis/APA.java b/src-generated/edu/nps/moves/dis/APA.java
index 0cddabdc03d6ac9bc16b822bb2671cc29be9fc68..d1b4e3d0f87eb1eb4d5011add6008e0ca3a2a134 100644
--- a/src-generated/edu/nps/moves/dis/APA.java
+++ b/src-generated/edu/nps/moves/dis/APA.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * additional passive activity
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class APA extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/AcknowledgePdu.java b/src-generated/edu/nps/moves/dis/AcknowledgePdu.java
index 55d4cc415847d611fcd6f637a2a9f553d20a8712..6fd6eb9e6c8fcbb9cce0415d9feaf1ab4f2e7bdb 100644
--- a/src-generated/edu/nps/moves/dis/AcknowledgePdu.java
+++ b/src-generated/edu/nps/moves/dis/AcknowledgePdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 7.5.6. Acknowledge the receipt of a start/resume, stop/freeze, or RemoveEntityPDU.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 7.5.6 Acknowledges the receipt of a Start/Resume PDU, Stop/Freeze PDU, Create Entity PDU, or Remove Entity PDU. See 5.6.5.6.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class AcknowledgePdu extends SimulationManagementFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/AcknowledgeReliablePdu.java b/src-generated/edu/nps/moves/dis/AcknowledgeReliablePdu.java
index d0beb9cc7ea02288e98b7d1baf4dafc4957de6c3..7c377c81cd8d8a590736e71ce813eb94060ad333 100644
--- a/src-generated/edu/nps/moves/dis/AcknowledgeReliablePdu.java
+++ b/src-generated/edu/nps/moves/dis/AcknowledgeReliablePdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 5.3.12.5: Ack receipt of a start-resume, stop-freeze, create-entity or remove enitty (reliable) pdus.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.12.4.6 Serves the same function as the Acknowledge PDU but is used to acknowledge the receipt of a Create Entity-R PDU, a Remove Entity-R PDU, a Start/Resume-R PDU, or a Stop/Freeze-R PDU.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class AcknowledgeReliablePdu extends SimulationManagementWithReliabilityFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/AcousticEmitter.java b/src-generated/edu/nps/moves/dis/AcousticEmitter.java
index 997d055b0e6e2dbb7f6f5c93cf0a9d84863e5835..d60faa2c2a647ae79e4b31b84242a7306c5492f6 100644
--- a/src-generated/edu/nps/moves/dis/AcousticEmitter.java
+++ b/src-generated/edu/nps/moves/dis/AcousticEmitter.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  *  information about a specific UA emitter. Section 6.2.2.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class AcousticEmitter extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/ActionRequestPdu.java b/src-generated/edu/nps/moves/dis/ActionRequestPdu.java
index cf0cdeba4447e82ddd39f55ec90953cf70a78d73..047b9b987073683d30a780545f27da2043a00053 100644
--- a/src-generated/edu/nps/moves/dis/ActionRequestPdu.java
+++ b/src-generated/edu/nps/moves/dis/ActionRequestPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 7.5.7. Request from simulation manager to a managed entity to perform a specified action.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ *  7.5.7 A request from an SM to a managed entity to perform a specified action. See 5.6.5.7
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class ActionRequestPdu extends SimulationManagementFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/ActionRequestReliablePdu.java b/src-generated/edu/nps/moves/dis/ActionRequestReliablePdu.java
index 252110358dc583328c260c0650a0ea6d4fea5413..87c92eaef3febba3e3250bb1ba3748a499669c60 100644
--- a/src-generated/edu/nps/moves/dis/ActionRequestReliablePdu.java
+++ b/src-generated/edu/nps/moves/dis/ActionRequestReliablePdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 5.3.12.6: request from a simulation manager to a managed entity to perform a specified action.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.12.4.7 Serves the same function as the Action Request PDU but with the addition of reliability service levels.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class ActionRequestReliablePdu extends SimulationManagementWithReliabilityFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/ActionResponsePdu.java b/src-generated/edu/nps/moves/dis/ActionResponsePdu.java
index e5b52ad6991ab94482f62f45e867003c88d01d66..fe523cd45ef8c624591b524a09809ff6f6a53dce 100644
--- a/src-generated/edu/nps/moves/dis/ActionResponsePdu.java
+++ b/src-generated/edu/nps/moves/dis/ActionResponsePdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 7.5.8. response to an action request PDU.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * Section 7.5.8. When an entity receives an Action Request PDU, that entity shall acknowledge the receipt of the Action Request PDU with an Action Response PDU. See 5.6.5.8.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class ActionResponsePdu extends SimulationManagementFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/ActionResponseReliablePdu.java b/src-generated/edu/nps/moves/dis/ActionResponseReliablePdu.java
index dc566a83975ca80efeac3d67dee7ae43314a64f9..952ea23b1f82781929ae847379156e35a008e0f5 100644
--- a/src-generated/edu/nps/moves/dis/ActionResponseReliablePdu.java
+++ b/src-generated/edu/nps/moves/dis/ActionResponseReliablePdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 5.3.12.7: Response from an entity to an action request PDU.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.12.4.8 Serves the same function as the Action Response PDU (see 5.6.5.8.1) but is used to acknowledge the receipt of an Action Request-R PDU.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class ActionResponseReliablePdu extends SimulationManagementWithReliabilityFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/AggregateIdentifier.java b/src-generated/edu/nps/moves/dis/AggregateIdentifier.java
index f3f6c2b36db07615b13a57eefeea08565a2870c4..cb4fd1d6ecdb5f42af77854196b73d70ad87756f 100644
--- a/src-generated/edu/nps/moves/dis/AggregateIdentifier.java
+++ b/src-generated/edu/nps/moves/dis/AggregateIdentifier.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * The unique designation of each aggregate in an exercise is specified by an aggregate identifier record. The aggregate ID is not an entity and shall not be treated as such. Section 6.2.3.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class AggregateIdentifier extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/AggregateMarking.java b/src-generated/edu/nps/moves/dis/AggregateMarking.java
index 3ac18381fdae63bc17a10a082075fd86c58cfb00..3f21f9d0fe90cf55eb7a65d99be7d8b9c8542885 100644
--- a/src-generated/edu/nps/moves/dis/AggregateMarking.java
+++ b/src-generated/edu/nps/moves/dis/AggregateMarking.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Specifies the character set used in the first byte, followed by up to 31 characters of text data. Section 6.2.4. 
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class AggregateMarking extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/AggregateStatePdu.java b/src-generated/edu/nps/moves/dis/AggregateStatePdu.java
index 20a8ec30959a85800b89a89a0b3adcfa30925e44..cb0c1b76b59259939272647a7143c679905fca1d 100644
--- a/src-generated/edu/nps/moves/dis/AggregateStatePdu.java
+++ b/src-generated/edu/nps/moves/dis/AggregateStatePdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 5.3.9.1 informationa bout aggregating entities anc communicating information about the aggregated entities. requires manual intervention to fix the padding between entityID lists and silent aggregate sysem lists this padding  is dependent on how many entityIDs there are, and needs to be on a 32 bit word boundary. UNFINISHED
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.9.2.2 The Aggregate State PDU shall be used to communicate the state and other pertinent information about an aggregated unit.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class AggregateStatePdu extends EntityManagementFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/AggregateType.java b/src-generated/edu/nps/moves/dis/AggregateType.java
index 14d083ae6e87967898640394c65c410cdbb87331..efc5bd3d1788d8e7d3f1feca6f75b3e29194b169 100644
--- a/src-generated/edu/nps/moves/dis/AggregateType.java
+++ b/src-generated/edu/nps/moves/dis/AggregateType.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Identifies the type and organization of an aggregate. Section 6.2.5
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class AggregateType extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/AngleDeception.java b/src-generated/edu/nps/moves/dis/AngleDeception.java
index 63265baa1a0935a2a3d55895028eb8d2cf83a573..2010097d189c416cdff7152fc33141e2f28bc21e 100644
--- a/src-generated/edu/nps/moves/dis/AngleDeception.java
+++ b/src-generated/edu/nps/moves/dis/AngleDeception.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * The Angle Deception attribute record may be used to communicate discrete values that are associated with angle deception jamming that cannot be referenced to an emitter mode. The values provided in the record records (provided in the associated Electromagnetic Emission PDU). (The victim radar beams are those that are targeted by the jammer.) Section 6.2.21.2.2
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class AngleDeception extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/AngularVelocityVector.java b/src-generated/edu/nps/moves/dis/AngularVelocityVector.java
index 43724aead214fd3bce4851a27d19d2e06e6b987f..d78d3aeebb882c091715dc38eb2bc62329fa87f7 100644
--- a/src-generated/edu/nps/moves/dis/AngularVelocityVector.java
+++ b/src-generated/edu/nps/moves/dis/AngularVelocityVector.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Angular velocity measured in radians per second out each of the entity's own coordinate axes. Order of measurement is angular velocity around the x, y, and z axis of the entity. The positive direction is determined by the right hand rule. Section 6.2.7
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class AngularVelocityVector extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/AntennaLocation.java b/src-generated/edu/nps/moves/dis/AntennaLocation.java
index fa93c3441b20df0d66512cc45cc6a8ed9a1446ec..36e398f9ab7a532367e1a10efcbd178fa741652d 100644
--- a/src-generated/edu/nps/moves/dis/AntennaLocation.java
+++ b/src-generated/edu/nps/moves/dis/AntennaLocation.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Location of the radiating portion of the antenna, specified in world coordinates and entity coordinates. Section 6.2.8
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class AntennaLocation extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/Appearance.java b/src-generated/edu/nps/moves/dis/Appearance.java
index bc4f9d512517f7afc757c7e3da0c3e25d22f4321..0968fcc76a15b9137dbf245de1a54c597ebc41c9 100644
--- a/src-generated/edu/nps/moves/dis/Appearance.java
+++ b/src-generated/edu/nps/moves/dis/Appearance.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * used in AppearancePdu
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class Appearance extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/AppearancePdu.java b/src-generated/edu/nps/moves/dis/AppearancePdu.java
index b940370f1afc61831fc15abe47207b6288f29645..6354351fd7c1519b6984dcef4c840467235592e6 100644
--- a/src-generated/edu/nps/moves/dis/AppearancePdu.java
+++ b/src-generated/edu/nps/moves/dis/AppearancePdu.java
@@ -1,11 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
+ * 9.4.3 Communicate information about the appearance of a live entity.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class AppearancePdu extends LiveEntityFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/ArealObjectStatePdu.java b/src-generated/edu/nps/moves/dis/ArealObjectStatePdu.java
index 8eef398f6d130e63d942a2fec04f1faed5148bbc..186872e7fc41812afd6d904fc26d5925da2019e9 100644
--- a/src-generated/edu/nps/moves/dis/ArealObjectStatePdu.java
+++ b/src-generated/edu/nps/moves/dis/ArealObjectStatePdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Information about the addition/modification of an oobject that is geometrically anchored to the terrain with a set of three or more points that come to a closure. Section 7.10.6
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 7.10.6 Used to communicate detailed information about the addition/modification of a synthetic environment object that is geometrically anchored to the terrain with a set of three or more points that come to a closure.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class ArealObjectStatePdu extends SyntheticEnvironmentFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/ArticulatedPartVP.java b/src-generated/edu/nps/moves/dis/ArticulatedPartVP.java
index 3df8ea917dbccee6659c899cc60e0c01af5bb812..8025193e0116f27a3b46564faf132d0c6ca91449 100644
--- a/src-generated/edu/nps/moves/dis/ArticulatedPartVP.java
+++ b/src-generated/edu/nps/moves/dis/ArticulatedPartVP.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  *  articulated parts for movable parts and a combination of moveable/attached parts of an entity. Section 6.2.94.2
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class ArticulatedPartVP extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/ArticulatedPartsPdu.java b/src-generated/edu/nps/moves/dis/ArticulatedPartsPdu.java
index dcb6d85c663de4ca23cb711a9358b7d25f2b0453..ce77e3a08b77924c6182eb35d67c27f94f64e250 100644
--- a/src-generated/edu/nps/moves/dis/ArticulatedPartsPdu.java
+++ b/src-generated/edu/nps/moves/dis/ArticulatedPartsPdu.java
@@ -1,11 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
+ * 9.4.4 Communicate information about an entity’s articulated and attached parts.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class ArticulatedPartsPdu extends LiveEntityFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/Association.java b/src-generated/edu/nps/moves/dis/Association.java
index 1d795714580a249d6f50ecbf39409573470f97c1..2fbe011dd07b77f06987c61646bf12ea773ac8a5 100644
--- a/src-generated/edu/nps/moves/dis/Association.java
+++ b/src-generated/edu/nps/moves/dis/Association.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * An entity's associations with other entities and/or locations. For each association, this record shall specify the type of the association, the associated entity's EntityID and/or the associated location's world coordinates. This record may be used (optionally) in a transfer transaction to send internal state data from the divesting simulation to the acquiring simulation (see 5.9.4). This record may also be used for other purposes. Section 6.2.9
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class Association extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/AttachedPartVP.java b/src-generated/edu/nps/moves/dis/AttachedPartVP.java
index c9ef563c33bc8feb76e31adfbe74b1b3094fd3ad..a743b8f5d81f87d3593a02acfc8af13ddd841350 100644
--- a/src-generated/edu/nps/moves/dis/AttachedPartVP.java
+++ b/src-generated/edu/nps/moves/dis/AttachedPartVP.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Removable parts that may be attached to an entity.  Section 6.2.93.3
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class AttachedPartVP extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/Attribute.java b/src-generated/edu/nps/moves/dis/Attribute.java
index 4914ec6841a3e3664392dbd32ca8aa30bc0e358e..de88d23c0f1d46d0b0ada16c4e697de34de942c9 100644
--- a/src-generated/edu/nps/moves/dis/Attribute.java
+++ b/src-generated/edu/nps/moves/dis/Attribute.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Used to convey information for one or more attributes. Attributes conform to the standard variable record format of 6.2.82. Section 6.2.10.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class Attribute extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/AttributePdu.java b/src-generated/edu/nps/moves/dis/AttributePdu.java
index 0bb84e0e7a7100d51799bef4a4d88bd9049ab068..c165a37fc67a08870c4a51e52a8c635025ea576a 100644
--- a/src-generated/edu/nps/moves/dis/AttributePdu.java
+++ b/src-generated/edu/nps/moves/dis/AttributePdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Information about individual attributes for a particular entity, other object, or event may be communicated using an Attribute PDU. The Attribute PDU shall not be used to exchange data available in any other PDU except where explicitly mentioned in the PDU issuance instructions within this standard. See 5.3.6 for the information requirements and issuance and receipt rules for this PDU. Section 7.2.6.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 7.2.6. Information about individual attributes for a particular entity, other object, or event may be communicated using an Attribute PDU. The Attribute PDU shall not be used to exchange data available in any other PDU except where explicitly mentioned in the PDU issuance instructions within this standard.. See 5.3.6.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class AttributePdu extends EntityInformationFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/AttributeRecordSet.java b/src-generated/edu/nps/moves/dis/AttributeRecordSet.java
index 255af89e05f945224ec6c189c5fb45b5cccbbf94..78b4e6cf52d642a25fcae5761defb9476f771f8e 100644
--- a/src-generated/edu/nps/moves/dis/AttributeRecordSet.java
+++ b/src-generated/edu/nps/moves/dis/AttributeRecordSet.java
@@ -1,11 +1,16 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class AttributeRecordSet extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/BeamAntennaPattern.java b/src-generated/edu/nps/moves/dis/BeamAntennaPattern.java
index d4287ba965843a03c3371c30ad7e15cb24612354..192952fb3fa14e6939ec0158021d55d9a1a73eb9 100644
--- a/src-generated/edu/nps/moves/dis/BeamAntennaPattern.java
+++ b/src-generated/edu/nps/moves/dis/BeamAntennaPattern.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Used when the antenna pattern type field has a value of 1. Specifies the direction, pattern, and polarization of radiation from an antenna. Section 6.2.9.2
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class BeamAntennaPattern extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/BeamData.java b/src-generated/edu/nps/moves/dis/BeamData.java
index cf920094c98d8f13dec2e386650ddcedc0d9ce1f..e4dd588d202c818f2a12e14465281839a3c53520 100644
--- a/src-generated/edu/nps/moves/dis/BeamData.java
+++ b/src-generated/edu/nps/moves/dis/BeamData.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Describes the scan volue of an emitter beam. Section 6.2.11.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class BeamData extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/BeamStatus.java b/src-generated/edu/nps/moves/dis/BeamStatus.java
index 0b5012469b5ec0582ab3e144a24cd23d377e214e..75594a89815abdbf5e226518bf88387102e17e2f 100644
--- a/src-generated/edu/nps/moves/dis/BeamStatus.java
+++ b/src-generated/edu/nps/moves/dis/BeamStatus.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Information related to the status of a beam. This is contained in the beam status field of the electromagnitec emission PDU. The first bit determines whether the beam is active (0) or deactivated (1). Section 6.2.12.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class BeamStatus extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/BlankingSector.java b/src-generated/edu/nps/moves/dis/BlankingSector.java
index 14696e359a91e97f251fcfdd10abbe3bad16c664..6f7a655a3922d19cdc70e842529d6f05f6869846 100644
--- a/src-generated/edu/nps/moves/dis/BlankingSector.java
+++ b/src-generated/edu/nps/moves/dis/BlankingSector.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * The Blanking Sector attribute record may be used to convey persistent areas within a scan volume where emitter power for a specific active emitter beam is reduced to an insignificant value. Section 6.2.21.2
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class BlankingSector extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/ChangeOptions.java b/src-generated/edu/nps/moves/dis/ChangeOptions.java
index 06baaa13ad81711cbd0a96af9b67f18cea734c3f..5cd8cbcf5808af843c77743f0c0e8a2228a88c8d 100644
--- a/src-generated/edu/nps/moves/dis/ChangeOptions.java
+++ b/src-generated/edu/nps/moves/dis/ChangeOptions.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * This is a bitfield . See section 6.2.13 aka B.2.41
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class ChangeOptions extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/ClockTime.java b/src-generated/edu/nps/moves/dis/ClockTime.java
index 0b4ce22d717550ad09881f22726f8d67190e0f76..1f71b01930f9ab93ee5df7247f0a9df409098137 100644
--- a/src-generated/edu/nps/moves/dis/ClockTime.java
+++ b/src-generated/edu/nps/moves/dis/ClockTime.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Time measurements that exceed one hour are represented by this record. The first field is the hours since the unix epoch (Jan 1 1970, used by most Unix systems and java) and the second field the timestamp units since the top of the hour. Section 6.2.14
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class ClockTime extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/CollisionElasticPdu.java b/src-generated/edu/nps/moves/dis/CollisionElasticPdu.java
index 1cf3f3f0c3e691bc1c8ea3ec96f8dcadb586f60d..2cf2e35dbc360f2599026c99cc87a5b5ff0d5338 100644
--- a/src-generated/edu/nps/moves/dis/CollisionElasticPdu.java
+++ b/src-generated/edu/nps/moves/dis/CollisionElasticPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Information about elastic collisions in a DIS exercise shall be communicated using a Collision-Elastic PDU. Section 7.2.4.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 7.2.4 Information about elastic collisions in a DIS exercise shall be communicated using a Collision-Elastic PDU. See 5.3.4.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class CollisionElasticPdu extends EntityInformationFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/CollisionPdu.java b/src-generated/edu/nps/moves/dis/CollisionPdu.java
index 7c46bf2493fced98e23ba19df06908a53105a6a7..d808f7a87286979508f0225dc7990de3ae168a6b 100644
--- a/src-generated/edu/nps/moves/dis/CollisionPdu.java
+++ b/src-generated/edu/nps/moves/dis/CollisionPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 7.2.3 Collisions between entities shall be communicated by issuing a Collision PDU.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 7.2.3 Collisions between entities shall be communicated by issuing a Collision PDU. See 5.3.3.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class CollisionPdu extends EntityInformationFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/CommentPdu.java b/src-generated/edu/nps/moves/dis/CommentPdu.java
index a737b1fa85a376d2a26d047cb738b596a8a356f6..7b68a62cec72e84377725070d7e97b92f753b43b 100644
--- a/src-generated/edu/nps/moves/dis/CommentPdu.java
+++ b/src-generated/edu/nps/moves/dis/CommentPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- *  Arbitrary messages can be entered into the data stream via use of this PDU. Section 7.5.13
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 7.5.13 Used to enter arbitrary messages (character strings, for example). See 5.6.5.13
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class CommentPdu extends SimulationManagementFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/CommentReliablePdu.java b/src-generated/edu/nps/moves/dis/CommentReliablePdu.java
index 1ffe1cb84456e8e960c6cd089340903a8f33f85b..84ae23e4f57ce46dbc46997ea8c86958f041e30c 100644
--- a/src-generated/edu/nps/moves/dis/CommentReliablePdu.java
+++ b/src-generated/edu/nps/moves/dis/CommentReliablePdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 5.3.12.12: Arbitrary messages. Only reliable this time.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.12.4.13 Serves the same function as the Comment PDU.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class CommentReliablePdu extends SimulationManagementWithReliabilityFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/CommunicationsNodeID.java b/src-generated/edu/nps/moves/dis/CommunicationsNodeID.java
index dd163efac530e599fb33ebc01954788fcb3cf196..23e47fc51c3c0fb63e088d6b2a4f40856994755f 100644
--- a/src-generated/edu/nps/moves/dis/CommunicationsNodeID.java
+++ b/src-generated/edu/nps/moves/dis/CommunicationsNodeID.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Identity of a communications node. Section 6.2.48.4
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class CommunicationsNodeID extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/CreateEntityPdu.java b/src-generated/edu/nps/moves/dis/CreateEntityPdu.java
index ae77ecce324916dce70048f14a9ca0a2fa2db54f..2a3429a8b4fadf51830312ff3996fe4e7ce2e89f 100644
--- a/src-generated/edu/nps/moves/dis/CreateEntityPdu.java
+++ b/src-generated/edu/nps/moves/dis/CreateEntityPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 7.5.2. Create a new entity.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * Section 7.5.2. Create a new entity. See 5.6.5.2.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class CreateEntityPdu extends SimulationManagementFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/CreateEntityReliablePdu.java b/src-generated/edu/nps/moves/dis/CreateEntityReliablePdu.java
index c836098a1b243e8545ad2e36b67e7c4f3253d167..089d213de26ff3c780bd4b0171642c7d477df68d 100644
--- a/src-generated/edu/nps/moves/dis/CreateEntityReliablePdu.java
+++ b/src-generated/edu/nps/moves/dis/CreateEntityReliablePdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 5.3.12.1: creation of an entity , reliable.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.12.4.2 Serves the same function as the Create Entity PDU but with the addition of reliability service levels.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class CreateEntityReliablePdu extends SimulationManagementWithReliabilityFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/DataFilterRecord.java b/src-generated/edu/nps/moves/dis/DataFilterRecord.java
index b923bf7950e5a5064de15d73834d349b58dc7c00..b149c22f944424f7abea0676a0116e3a235a4cd9 100644
--- a/src-generated/edu/nps/moves/dis/DataFilterRecord.java
+++ b/src-generated/edu/nps/moves/dis/DataFilterRecord.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * identify which of the optional data fields are contained in the Minefield Data PDU or requested in the Minefield Query PDU. This is a 32-bit record. For each field, true denotes that the data is requested or present and false denotes that the data is neither requested nor present. Section 6.2.16
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class DataFilterRecord extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/DataPdu.java b/src-generated/edu/nps/moves/dis/DataPdu.java
index d956de4ab57ce089a3bb93db8a6e5235a81c53f9..aeae087e15295a18dc1adb4cf5f0ecab109f6115 100644
--- a/src-generated/edu/nps/moves/dis/DataPdu.java
+++ b/src-generated/edu/nps/moves/dis/DataPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- *  Information issued in response to a data query pdu or a set data pdu is communicated using a data pdu. Section 7.5.11
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 7.5.11 Information issued in response to a Data Query PDU or Set Data PDU. Section 5.6.5.11
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class DataPdu extends SimulationManagementFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/DataQueryDatumSpecification.java b/src-generated/edu/nps/moves/dis/DataQueryDatumSpecification.java
index bd508184d6dad1afc38c09c63f64bee33461f79e..c0e912211a0cc8b51c85b62ab8eafa1bdc512a60 100644
--- a/src-generated/edu/nps/moves/dis/DataQueryDatumSpecification.java
+++ b/src-generated/edu/nps/moves/dis/DataQueryDatumSpecification.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * List of fixed and variable datum records. Section 6.2.17 
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class DataQueryDatumSpecification extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/DataQueryPdu.java b/src-generated/edu/nps/moves/dis/DataQueryPdu.java
index 184b459d9cc1db0bdf78f34a9c2330cce215e27f..28c534668e77eb33a33e0b4eaa1d545a00a27381 100644
--- a/src-generated/edu/nps/moves/dis/DataQueryPdu.java
+++ b/src-generated/edu/nps/moves/dis/DataQueryPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 7.5.9. Request for data from an entity.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * Section 7.5.9. Request for data from an entity. See 5.6.5.9
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class DataQueryPdu extends SimulationManagementFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/DataQueryReliablePdu.java b/src-generated/edu/nps/moves/dis/DataQueryReliablePdu.java
index 437a4f8e3bbea4ea2ea94d02de3e903d7aa83387..16b2eb84d915528ebb7eadfc8cfb04dbdc0061c5 100644
--- a/src-generated/edu/nps/moves/dis/DataQueryReliablePdu.java
+++ b/src-generated/edu/nps/moves/dis/DataQueryReliablePdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 5.3.12.8: request for data from an entity.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.12.4.9 Serves the same function as the Data Query PDU but with the addition of reliability service levels
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class DataQueryReliablePdu extends SimulationManagementWithReliabilityFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/DataReliablePdu.java b/src-generated/edu/nps/moves/dis/DataReliablePdu.java
index a1a30936ef4e515662354191dab110961c83c8fe..e5d94a8ba1acfe9c6bcd1eab54402c48b4b07922 100644
--- a/src-generated/edu/nps/moves/dis/DataReliablePdu.java
+++ b/src-generated/edu/nps/moves/dis/DataReliablePdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 5.3.12.10: issued in response to a data query R or set dataR pdu.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.12.4.11 Serves the same function as the Data PDU but with the addition of reliability service levels and is used in response to a Data Query-R PDU, a Data-R PDU, or a Set Data-R PDU.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class DataReliablePdu extends SimulationManagementWithReliabilityFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/DatumSpecification.java b/src-generated/edu/nps/moves/dis/DatumSpecification.java
index 53bbf20bd6908e82ca41574c651fdaf82b5168d6..7726ad1b5332f3550ca8c65d3868b3297bfc05a6 100644
--- a/src-generated/edu/nps/moves/dis/DatumSpecification.java
+++ b/src-generated/edu/nps/moves/dis/DatumSpecification.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * List of fixed and variable datum records. Section 6.2.18 
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class DatumSpecification extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/DeadReckoningParameters.java b/src-generated/edu/nps/moves/dis/DeadReckoningParameters.java
index 1d8d0016a4d768e2a076a02d1a40d4a56bc8ae3c..708328cd935b2e27d26b526da2bcb4c69e215fde 100644
--- a/src-generated/edu/nps/moves/dis/DeadReckoningParameters.java
+++ b/src-generated/edu/nps/moves/dis/DeadReckoningParameters.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Not specified in the standard. This is used by the ESPDU
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class DeadReckoningParameters extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/DesignatorPdu.java b/src-generated/edu/nps/moves/dis/DesignatorPdu.java
index 600a847685e15334cd46f6c0a16222aee1041669..37817bc6d81da43a2e73e44e7893ce44618d3301 100644
--- a/src-generated/edu/nps/moves/dis/DesignatorPdu.java
+++ b/src-generated/edu/nps/moves/dis/DesignatorPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 5.3.7.2. Handles designating operations.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 7.6.3 Handles designating operations. See 5.3.7.2.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class DesignatorPdu extends DistributedEmissionsFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/DetonationPdu.java b/src-generated/edu/nps/moves/dis/DetonationPdu.java
index 51fca21172941d07aae4082fd2b4288d84c4547f..adea7c113f58771ad74e02ea34f07cc67f590359 100644
--- a/src-generated/edu/nps/moves/dis/DetonationPdu.java
+++ b/src-generated/edu/nps/moves/dis/DetonationPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Detonation or impact of munitions, as well as, non-munition explosions, the burst or initial bloom of chaff, and the ignition of a flare shall be indicated. Section 7.3.3 
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 7.3.3 Used to communicate the detonation or impact of munitions, as well as non-munition explosions, the burst or initial bloom of chaff, and the ignition of a flare.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class DetonationPdu extends WarfareFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/DirectedEnergyAreaAimpoint.java b/src-generated/edu/nps/moves/dis/DirectedEnergyAreaAimpoint.java
index 0a7fd9db7b7a0d62bc1ef52d756ba875b55a62dd..8cc07616358ff11f5443366f4faef963a1784776 100644
--- a/src-generated/edu/nps/moves/dis/DirectedEnergyAreaAimpoint.java
+++ b/src-generated/edu/nps/moves/dis/DirectedEnergyAreaAimpoint.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * DE Precision Aimpoint Record. Section 6.2.20.2
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class DirectedEnergyAreaAimpoint extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/DirectedEnergyDamage.java b/src-generated/edu/nps/moves/dis/DirectedEnergyDamage.java
index efbc3868ef2b62940136521e91e8cecb90a4d584..f3a6e9e3a2608657ff09fa03b96772aa51b18d8d 100644
--- a/src-generated/edu/nps/moves/dis/DirectedEnergyDamage.java
+++ b/src-generated/edu/nps/moves/dis/DirectedEnergyDamage.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Damage sustained by an entity due to directed energy. Location of the damage based on a relative x,y,z location from the center of the entity. Section 6.2.15.2
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class DirectedEnergyDamage extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/DirectedEnergyFirePdu.java b/src-generated/edu/nps/moves/dis/DirectedEnergyFirePdu.java
index 59cbce4dfa44bf39fdd0dbd84375cc8b069b61d7..434a4419c5a6d2783e74af4183dad17eaad6a9fb 100644
--- a/src-generated/edu/nps/moves/dis/DirectedEnergyFirePdu.java
+++ b/src-generated/edu/nps/moves/dis/DirectedEnergyFirePdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Firing of a directed energy weapon shall be communicated by issuing a Directed Energy Fire PDU Section 7.3.4
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 7.3.4 Used to communicate the firing of a directed energy weapon.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class DirectedEnergyFirePdu extends WarfareFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/DirectedEnergyPrecisionAimpoint.java b/src-generated/edu/nps/moves/dis/DirectedEnergyPrecisionAimpoint.java
index 4480f0566866bb8478e7027cc273a54d02cc61d5..a77761a6bd2c6e0d6e020e381e9942dbdcb365b2 100644
--- a/src-generated/edu/nps/moves/dis/DirectedEnergyPrecisionAimpoint.java
+++ b/src-generated/edu/nps/moves/dis/DirectedEnergyPrecisionAimpoint.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * DE Precision Aimpoint Record. Section 6.2.20.3
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class DirectedEnergyPrecisionAimpoint extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/DirectedEnergyTargetEnergyDeposition.java b/src-generated/edu/nps/moves/dis/DirectedEnergyTargetEnergyDeposition.java
index dfb0bc5a9af7f99ef2c033504e9c87a632abb1a9..5ebb7aff10486ee3b4efbc5f4b8029d31abea28b 100644
--- a/src-generated/edu/nps/moves/dis/DirectedEnergyTargetEnergyDeposition.java
+++ b/src-generated/edu/nps/moves/dis/DirectedEnergyTargetEnergyDeposition.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * DE energy depostion properties for a target entity. Section 6.2.20.4
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class DirectedEnergyTargetEnergyDeposition extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/DistributedEmissionsFamilyPdu.java b/src-generated/edu/nps/moves/dis/DistributedEmissionsFamilyPdu.java
index 4c1adb4126c4ab60b5c6c864dedfd091817ca921..9110c5417252858bccda9a14f6b095870ce6d59f 100644
--- a/src-generated/edu/nps/moves/dis/DistributedEmissionsFamilyPdu.java
+++ b/src-generated/edu/nps/moves/dis/DistributedEmissionsFamilyPdu.java
@@ -1,19 +1,19 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Section 5.3.7. Electronic Emissions. Abstract superclass for distributed emissions PDU
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
-public class DistributedEmissionsFamilyPdu extends PduBase implements Serializable
+public abstract class DistributedEmissionsFamilyPdu extends PduBase implements Serializable
 {
 
 /** Constructor */
diff --git a/src-generated/edu/nps/moves/dis/Domain.java b/src-generated/edu/nps/moves/dis/Domain.java
index f9111d5207be8bed4c4a77b399671919c8c9193d..80e068c0a559d636cf2c53bf69fc636e595fe7b9 100644
--- a/src-generated/edu/nps/moves/dis/Domain.java
+++ b/src-generated/edu/nps/moves/dis/Domain.java
@@ -1,3 +1,8 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.io.DataInputStream;
diff --git a/src-generated/edu/nps/moves/dis/EEFundamentalParameterData.java b/src-generated/edu/nps/moves/dis/EEFundamentalParameterData.java
index 20593eb6934f79d72d1cc4ceb4cfcf32c1370f07..b9aae2a48cb4350a18119544f1a398d8a0da324a 100644
--- a/src-generated/edu/nps/moves/dis/EEFundamentalParameterData.java
+++ b/src-generated/edu/nps/moves/dis/EEFundamentalParameterData.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Contains electromagnetic emmission regeneration parameters that are variable throught a scenario. Section 6.2.22.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class EEFundamentalParameterData extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/ElectronicEmissionsPdu.java b/src-generated/edu/nps/moves/dis/ElectronicEmissionsPdu.java
index d9e035088fa5927d571b6dedf07fdb5e02d5e3f6..73b2f6854b3c45fb14fba9304fd5957f9df2134f 100644
--- a/src-generated/edu/nps/moves/dis/ElectronicEmissionsPdu.java
+++ b/src-generated/edu/nps/moves/dis/ElectronicEmissionsPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 5.3.7.1. The EE PDU shall be used to communicate active electromagnetic emissions, including radar and radar-related electronic warfare (e.g., jamming). Exceptions include IFF interrogations and replies, navigation aids, voice, beacon and data radio communications, directed energy weapons, and laser ranging and designation systems, which are handled by other PDUs.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 7.6.2 Communicate active electromagnetic emissions, including radar and radar-related electronic warfare (e.g., jamming). Exceptions include IFF interrogations and replies, navigation aids, voice, beacon and data radio communications, directed energy weapons, and laser ranging and designation systems, which are handled by other PDUs. Section 5.3.7.1.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class ElectronicEmissionsPdu extends DistributedEmissionsFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/ElectronicEmitter.java b/src-generated/edu/nps/moves/dis/ElectronicEmitter.java
index f8ec6ed560b4be06dda1e8a3cfcedb8279a84462..0f077c901ae8e75e6e5bc4ddc2370c1dba859d87 100644
--- a/src-generated/edu/nps/moves/dis/ElectronicEmitter.java
+++ b/src-generated/edu/nps/moves/dis/ElectronicEmitter.java
@@ -1,11 +1,16 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class ElectronicEmitter extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/EmitterBeam.java b/src-generated/edu/nps/moves/dis/EmitterBeam.java
index 6751b3e9491e323da9447e0bf883c1ef0eec936a..4731be25e2a885606a4ccfb6c966775d021d686d 100644
--- a/src-generated/edu/nps/moves/dis/EmitterBeam.java
+++ b/src-generated/edu/nps/moves/dis/EmitterBeam.java
@@ -1,11 +1,16 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class EmitterBeam extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/EmitterSystem.java b/src-generated/edu/nps/moves/dis/EmitterSystem.java
index 5c7a73cfb8bc03258d77857c10798388e3cece51..b5705eef4d2baef4cdb47133ecbaa90db5b3f2b8 100644
--- a/src-generated/edu/nps/moves/dis/EmitterSystem.java
+++ b/src-generated/edu/nps/moves/dis/EmitterSystem.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * This field shall specify information about a particular emitter system. Section 6.2.23.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class EmitterSystem extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/EngineFuel.java b/src-generated/edu/nps/moves/dis/EngineFuel.java
index 43ba06cb11168e003a9cc1652ce2433df5180aa0..94264d0e65b5052458d4c6a05795687aafcec7b9 100644
--- a/src-generated/edu/nps/moves/dis/EngineFuel.java
+++ b/src-generated/edu/nps/moves/dis/EngineFuel.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Information about an entity's engine fuel. Section 6.2.24.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class EngineFuel extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/EngineFuelReload.java b/src-generated/edu/nps/moves/dis/EngineFuelReload.java
index 6fda71e1bcc52fd5e79da78a6fdb14bd6ec97e92..8c1deb9307ceaa93e7938e3461cc724d46bdc1c4 100644
--- a/src-generated/edu/nps/moves/dis/EngineFuelReload.java
+++ b/src-generated/edu/nps/moves/dis/EngineFuelReload.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * For each type or location of engine fuell, this record specifies the type, location, fuel measurement units, and reload quantity and maximum quantity. Section 6.2.25.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class EngineFuelReload extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/EntityAssociationVP.java b/src-generated/edu/nps/moves/dis/EntityAssociationVP.java
index 33302b6f5f846539147389d77bb197a299106ccd..b62b9201d6a3549ecbed4015c12fae1f548816c9 100644
--- a/src-generated/edu/nps/moves/dis/EntityAssociationVP.java
+++ b/src-generated/edu/nps/moves/dis/EntityAssociationVP.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Association or disassociation of two entities.  Section 6.2.94.4.3
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class EntityAssociationVP extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/EntityDamageStatusPdu.java b/src-generated/edu/nps/moves/dis/EntityDamageStatusPdu.java
index a1481e35b10fa8868ddc932fa56c320913f54b6a..e11dcdb9354dc4f9dbcbaa88c6bc5f200ebb41cb 100644
--- a/src-generated/edu/nps/moves/dis/EntityDamageStatusPdu.java
+++ b/src-generated/edu/nps/moves/dis/EntityDamageStatusPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * shall be used to communicate detailed damage information sustained by an entity regardless of the source of the damage Section 7.3.5
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 7.3.5 Used to communicate detailed damage information sustained by an entity regardless of the source of the damage.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class EntityDamageStatusPdu extends WarfareFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/EntityID.java b/src-generated/edu/nps/moves/dis/EntityID.java
index d29a164af1cbdbe3a50497fb583360dec9efb79e..38a0a9c61079a969fafebffa6a078d182fd914b6 100644
--- a/src-generated/edu/nps/moves/dis/EntityID.java
+++ b/src-generated/edu/nps/moves/dis/EntityID.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * more laconically named EntityIdentifier
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class EntityID extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/EntityIdentifier.java b/src-generated/edu/nps/moves/dis/EntityIdentifier.java
index c9bfc806207bb69b8e73e74bd6ab4cf5bbb00e1d..0b00d31c690c7a43df20c55f7a971eca7e21ff26 100644
--- a/src-generated/edu/nps/moves/dis/EntityIdentifier.java
+++ b/src-generated/edu/nps/moves/dis/EntityIdentifier.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Entity Identifier. Unique ID for entities in the world. Consists of an simulation address and a entity number. Section 6.2.28.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class EntityIdentifier extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/EntityInformationFamilyPdu.java b/src-generated/edu/nps/moves/dis/EntityInformationFamilyPdu.java
index 7fb79547e0e474b05eb9d9eef4206cb037d99c8a..a68323ff9a39f9dc53f63c6ee51e01da010d2159 100644
--- a/src-generated/edu/nps/moves/dis/EntityInformationFamilyPdu.java
+++ b/src-generated/edu/nps/moves/dis/EntityInformationFamilyPdu.java
@@ -1,19 +1,19 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 5.3.3. Common superclass for EntityState, Collision, collision-elastic, and entity state update PDUs. This should be abstract.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * Section 5.3.3. Common superclass for EntityState, Collision, collision-elastic, and entity state update PDUs.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
-public class EntityInformationFamilyPdu extends PduBase implements Serializable
+public abstract class EntityInformationFamilyPdu extends PduBase implements Serializable
 {
 
 /** Constructor */
diff --git a/src-generated/edu/nps/moves/dis/EntityManagementFamilyPdu.java b/src-generated/edu/nps/moves/dis/EntityManagementFamilyPdu.java
index ff18a2072dafb826871064f069d2ede9545d5121..e170c481f6660594071cf29216b9deac9905ea97 100644
--- a/src-generated/edu/nps/moves/dis/EntityManagementFamilyPdu.java
+++ b/src-generated/edu/nps/moves/dis/EntityManagementFamilyPdu.java
@@ -1,19 +1,19 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  *  Managment of grouping of PDUs, and more. Section 7.8
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
-public class EntityManagementFamilyPdu extends PduBase implements Serializable
+public abstract class EntityManagementFamilyPdu extends PduBase implements Serializable
 {
 
 /** Constructor */
diff --git a/src-generated/edu/nps/moves/dis/EntityMarking.java b/src-generated/edu/nps/moves/dis/EntityMarking.java
index abaeeb4c6dae892ec82ab07a4ecc31687d7f8bac..a91922abe5192332efa349e12fa451b1159f3f1e 100644
--- a/src-generated/edu/nps/moves/dis/EntityMarking.java
+++ b/src-generated/edu/nps/moves/dis/EntityMarking.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Specifies the character set used inthe first byte, followed by 11 characters of text data. Section 6.29
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class EntityMarking extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/EntityStatePdu.java b/src-generated/edu/nps/moves/dis/EntityStatePdu.java
index 4bdf94b3edd7ac5acb1c15693f8df5c739bf41f2..9ce619220176440212e4ac26fdd3df33e0c5f371 100644
--- a/src-generated/edu/nps/moves/dis/EntityStatePdu.java
+++ b/src-generated/edu/nps/moves/dis/EntityStatePdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Represents the postion and state of one entity in the world. Section 7.2.2.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ *  7.2.2. Represents the postion and state of one entity in the world. See 5.3.2.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class EntityStatePdu extends EntityInformationFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/EntityStateUpdatePdu.java b/src-generated/edu/nps/moves/dis/EntityStateUpdatePdu.java
index ab708048315eee2766b3079c1562d63454baafe6..636811a1f857cdeb2c7731d533a56efb1ddaf997 100644
--- a/src-generated/edu/nps/moves/dis/EntityStateUpdatePdu.java
+++ b/src-generated/edu/nps/moves/dis/EntityStateUpdatePdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Nonstatic information about a particular entity may be communicated by issuing an Entity State Update PDU. Section 7.2.5.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 7.2.5. Nonstatic information about a particular entity may be communicated by issuing an Entity State Update PDU. 5.3.5.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class EntityStateUpdatePdu extends EntityInformationFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/EntityType.java b/src-generated/edu/nps/moves/dis/EntityType.java
index 0280b4968d85e4310d8e603a5c1cf9a8e3126551..c5158c062da20df2950158a61abc73828df683e6 100644
--- a/src-generated/edu/nps/moves/dis/EntityType.java
+++ b/src-generated/edu/nps/moves/dis/EntityType.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Identifies the type of Entity
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class EntityType extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/EntityTypeRaw.java b/src-generated/edu/nps/moves/dis/EntityTypeRaw.java
index 620e9af31335264e2c1dcb674fe61e85564543c4..ed1cddcaafc0563c45acc66d8ccff4df7d40a52c 100644
--- a/src-generated/edu/nps/moves/dis/EntityTypeRaw.java
+++ b/src-generated/edu/nps/moves/dis/EntityTypeRaw.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Identifies the type of Entity
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class EntityTypeRaw extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/EntityTypeVP.java b/src-generated/edu/nps/moves/dis/EntityTypeVP.java
index 48a7ee9020f887bde1338707811df4c7f721ed86..416adfe5ae78a829a201fe5fe5a344e1a1ea9269 100644
--- a/src-generated/edu/nps/moves/dis/EntityTypeVP.java
+++ b/src-generated/edu/nps/moves/dis/EntityTypeVP.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Association or disassociation of two entities.  Section 6.2.94.5
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class EntityTypeVP extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/Environment.java b/src-generated/edu/nps/moves/dis/Environment.java
index a288ab7b4dd8a5ac4c47c9a5a472c5c529dd52fc..30467f8c9ec77037230ecacbae6a0a498d8a3287 100644
--- a/src-generated/edu/nps/moves/dis/Environment.java
+++ b/src-generated/edu/nps/moves/dis/Environment.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  *  Information about a geometry, a state associated with a geometry, a bounding volume, or an associated entity ID.  6.2.31, not fully defined. 'The current definitions can be found in DIS PCR 240'
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class Environment extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/EnvironmentalProcessPdu.java b/src-generated/edu/nps/moves/dis/EnvironmentalProcessPdu.java
index 01f503a610e9aaa794ac9382acbc0458fec9dd72..8aecf6d3b86cf3817b6276c730f0f353c09e7e24 100644
--- a/src-generated/edu/nps/moves/dis/EnvironmentalProcessPdu.java
+++ b/src-generated/edu/nps/moves/dis/EnvironmentalProcessPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 5.3.11.1: Information about environmental effects and processes. This requires manual cleanup.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 7.10.2 Used to communicate information about environmental effects and processes.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class EnvironmentalProcessPdu extends SyntheticEnvironmentFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/EulerAngles.java b/src-generated/edu/nps/moves/dis/EulerAngles.java
index 179e404e9c98c4c27fb70ae26a5598477e786692..3893d5d7715ee1a8d5c142b831c932e32b5a297f 100644
--- a/src-generated/edu/nps/moves/dis/EulerAngles.java
+++ b/src-generated/edu/nps/moves/dis/EulerAngles.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Three floating point values representing an orientation, psi, theta, and phi, aka the euler angles, in radians. Section 6.2.33
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class EulerAngles extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/EventIdentifier.java b/src-generated/edu/nps/moves/dis/EventIdentifier.java
index 55f71de06ae6826e3102b638b4b33fe68972dac4..3dcca04d6a679705d3b154189cafb327affecfca 100644
--- a/src-generated/edu/nps/moves/dis/EventIdentifier.java
+++ b/src-generated/edu/nps/moves/dis/EventIdentifier.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Identifies an event in the world. Use this format for every PDU EXCEPT the LiveEntityPdu. Section 6.2.34.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class EventIdentifier extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/EventIdentifierLiveEntity.java b/src-generated/edu/nps/moves/dis/EventIdentifierLiveEntity.java
index 106aab62dc39b6fc57501fb79237b73585dad22c..56ed044273a157eae1affdae6c0f42d8e8509d14 100644
--- a/src-generated/edu/nps/moves/dis/EventIdentifierLiveEntity.java
+++ b/src-generated/edu/nps/moves/dis/EventIdentifierLiveEntity.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Identifies an event in the world. Use this format for ONLY the LiveEntityPdu. Section 6.2.34.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class EventIdentifierLiveEntity extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/EventReportPdu.java b/src-generated/edu/nps/moves/dis/EventReportPdu.java
index 6000113a80ef3e73e91ea1ddb2c9e0ed40210964..3ae79beb1aff279854b7e989171fe7fc399b7229 100644
--- a/src-generated/edu/nps/moves/dis/EventReportPdu.java
+++ b/src-generated/edu/nps/moves/dis/EventReportPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- *  Reports occurance of a significant event to the simulation manager. Section 7.5.12.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 7.5.12 Reports occurance of a significant event to the simulation manager. See 5.6.5.12.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class EventReportPdu extends SimulationManagementFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/EventReportReliablePdu.java b/src-generated/edu/nps/moves/dis/EventReportReliablePdu.java
index be80205e351ee6529cfb030f1c5af7bbfdeaadd4..407870061e2d6217524e14e0f7e9bf7da6dc6f1c 100644
--- a/src-generated/edu/nps/moves/dis/EventReportReliablePdu.java
+++ b/src-generated/edu/nps/moves/dis/EventReportReliablePdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 5.3.12.11: reports the occurance of a significatnt event to the simulation manager.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.12.4.12 Contains the same information as found in the Event Report PDU.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class EventReportReliablePdu extends SimulationManagementWithReliabilityFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/Expendable.java b/src-generated/edu/nps/moves/dis/Expendable.java
index 88ea64c5c825b43665fd361723cdf0eec4679ad6..f842da525c4b40b12107deb3b8a8e74abb11502e 100644
--- a/src-generated/edu/nps/moves/dis/Expendable.java
+++ b/src-generated/edu/nps/moves/dis/Expendable.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * An entity's expendable (chaff, flares, etc) information. Section 6.2.36
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class Expendable extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/ExpendableDescriptor.java b/src-generated/edu/nps/moves/dis/ExpendableDescriptor.java
index ecc703c3550a7c51ae81af40d2fb9b5492705c59..68c5c15bac4459ab94b3e9a8eb9c2a0988218fa3 100644
--- a/src-generated/edu/nps/moves/dis/ExpendableDescriptor.java
+++ b/src-generated/edu/nps/moves/dis/ExpendableDescriptor.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Burst of chaff or expendible device. Section 6.2.19.4
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class ExpendableDescriptor extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/ExpendableReload.java b/src-generated/edu/nps/moves/dis/ExpendableReload.java
index e6733171ed0ad5034dac0de2943bbdd0e225a855..d374c0d108ab798dd5579f3d3032db33f0395357 100644
--- a/src-generated/edu/nps/moves/dis/ExpendableReload.java
+++ b/src-generated/edu/nps/moves/dis/ExpendableReload.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * An entity's expendable (chaff, flares, etc) information. Section 6.2.37
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class ExpendableReload extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/ExplosionDescriptor.java b/src-generated/edu/nps/moves/dis/ExplosionDescriptor.java
index bb10efaef345d58444c93fe45c75f33e43a59ced..b4555bc1d63495d40b568028b46a9197d09d5791 100644
--- a/src-generated/edu/nps/moves/dis/ExplosionDescriptor.java
+++ b/src-generated/edu/nps/moves/dis/ExplosionDescriptor.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Explosion of a non-munition. Section 6.2.19.3
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class ExplosionDescriptor extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/FalseTargetsAttribute.java b/src-generated/edu/nps/moves/dis/FalseTargetsAttribute.java
index 3574da21fa1e9c79c8e972f6a7bdc371f5cf317d..2b866f387dfdf5e914fd27d6d7c7a0d8663aad6d 100644
--- a/src-generated/edu/nps/moves/dis/FalseTargetsAttribute.java
+++ b/src-generated/edu/nps/moves/dis/FalseTargetsAttribute.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * The False Targets attribute record shall be used to communicate discrete values that are associated with false targets jamming that cannot be referenced to an emitter mode. The values provided in the False Targets attri- bute record shall be considered valid only for the victim radar beams listed in the jamming beam's Track/Jam Data records (provided in the associated Electromagnetic Emission PDU). Section 6.2.21.3
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class FalseTargetsAttribute extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/FastEntityStatePdu.java b/src-generated/edu/nps/moves/dis/FastEntityStatePdu.java
index bdd97dfcc59205988c7913e56aa589a8592f8735..0afbacd97bce4bf400ef1688b406f365e6e15790 100644
--- a/src-generated/edu/nps/moves/dis/FastEntityStatePdu.java
+++ b/src-generated/edu/nps/moves/dis/FastEntityStatePdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Represents the postion and state of one entity in the world. This is identical in function to entity state pdu, but generates less garbage to collect in the Java world. Section 7.2.2.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class FastEntityStatePdu extends EntityInformationFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/FirePdu.java b/src-generated/edu/nps/moves/dis/FirePdu.java
index 06d9375c56e6b16331a44a24407af3b16e039086..2723bae803397499329ba0c5b8221b48d55ee26e 100644
--- a/src-generated/edu/nps/moves/dis/FirePdu.java
+++ b/src-generated/edu/nps/moves/dis/FirePdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- *  The firing of a weapon or expendable shall be communicated by issuing a Fire PDU. Sectioin 7.3.2.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 7.3.2 Used to communicate the firing of a weapon or expendable.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class FirePdu extends WarfareFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/FixedDatum.java b/src-generated/edu/nps/moves/dis/FixedDatum.java
index 2e6bdd0787b4698f74323a5b92a16c9b1a0d3a56..a522da19f9d49c408ce2c9c4ac051db23e31accc 100644
--- a/src-generated/edu/nps/moves/dis/FixedDatum.java
+++ b/src-generated/edu/nps/moves/dis/FixedDatum.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Fixed Datum Record. Section 6.2.38
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class FixedDatum extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/FundamentalOperationalData.java b/src-generated/edu/nps/moves/dis/FundamentalOperationalData.java
index baff8e997815e1a9f524a9f25a13ec343fe8577f..7e7b899b03631848855deb1fd4a68da84b360170 100644
--- a/src-generated/edu/nps/moves/dis/FundamentalOperationalData.java
+++ b/src-generated/edu/nps/moves/dis/FundamentalOperationalData.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Basic operational data for IFF. Section 6.2.39
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class FundamentalOperationalData extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/GridAxisDescriptor.java b/src-generated/edu/nps/moves/dis/GridAxisDescriptor.java
index a01471aa127f7fa56f16f32b64c0dd8befc6fa9c..97e4c5d64f4a2ff1f27666a969c577ea5cd792ef 100644
--- a/src-generated/edu/nps/moves/dis/GridAxisDescriptor.java
+++ b/src-generated/edu/nps/moves/dis/GridAxisDescriptor.java
@@ -1,11 +1,16 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class GridAxisDescriptor extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/GridAxisDescriptorFixed.java b/src-generated/edu/nps/moves/dis/GridAxisDescriptorFixed.java
index 3b7bf6243cdc39a97a4e3c0095383dd0168e7e77..42258c9eb091655cd8739341a80f55db22ae2f61 100644
--- a/src-generated/edu/nps/moves/dis/GridAxisDescriptorFixed.java
+++ b/src-generated/edu/nps/moves/dis/GridAxisDescriptorFixed.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Grid axis record for fixed data. Section 6.2.41
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class GridAxisDescriptorFixed extends GridAxisDescriptor implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/GridAxisDescriptorVariable.java b/src-generated/edu/nps/moves/dis/GridAxisDescriptorVariable.java
index 924970f05bfdd9529ba758549eea29b0c4f40f81..80cf59d9581a5cfd6a25d5083992c41e390b84a5 100644
--- a/src-generated/edu/nps/moves/dis/GridAxisDescriptorVariable.java
+++ b/src-generated/edu/nps/moves/dis/GridAxisDescriptorVariable.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Grid axis descriptor fo variable spacing axis data.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class GridAxisDescriptorVariable extends GridAxisDescriptor implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/GridData.java b/src-generated/edu/nps/moves/dis/GridData.java
index a25e547108ac3b480c634eb3248c6e3e587507fb..6321922d5fb2c00dc45192afa72297d9774f629f 100644
--- a/src-generated/edu/nps/moves/dis/GridData.java
+++ b/src-generated/edu/nps/moves/dis/GridData.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * 6.2.41, table 68
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class GridData extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/GridDataType0.java b/src-generated/edu/nps/moves/dis/GridDataType0.java
index e1ec5ee6c20b3c45b5cb3dabeba276e403eeddef..bd7667c5e2364b9c6c619b1b674b0252205d8f2e 100644
--- a/src-generated/edu/nps/moves/dis/GridDataType0.java
+++ b/src-generated/edu/nps/moves/dis/GridDataType0.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * 6.2.41, table 68
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class GridDataType0 extends GridData implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/GridDataType1.java b/src-generated/edu/nps/moves/dis/GridDataType1.java
index 6d0559375fd026612063baf7d890595701ffb27a..669ea7a719ec5419f3a40ec2bc4b7ef4317e58ef 100644
--- a/src-generated/edu/nps/moves/dis/GridDataType1.java
+++ b/src-generated/edu/nps/moves/dis/GridDataType1.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * 6.2.41, table 69
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class GridDataType1 extends GridData implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/GridDataType2.java b/src-generated/edu/nps/moves/dis/GridDataType2.java
index b7d1d4c9ebd349da6961b2674cfead5b3826efd0..c0f05d791884219f91aea5305901acf3d5d15f5e 100644
--- a/src-generated/edu/nps/moves/dis/GridDataType2.java
+++ b/src-generated/edu/nps/moves/dis/GridDataType2.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * 6.2.41, table 70
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class GridDataType2 extends GridData implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/GriddedDataPdu.java b/src-generated/edu/nps/moves/dis/GriddedDataPdu.java
index efc5a963f9d3e1728df94a9062c01582fd902fe8..a439eff8637910a89371a7ae79ac93ea4c656edf 100644
--- a/src-generated/edu/nps/moves/dis/GriddedDataPdu.java
+++ b/src-generated/edu/nps/moves/dis/GriddedDataPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 5.3.11.2: Information about global, spatially varying environmental effects. This requires manual cleanup; the grid axis            records are variable sized. UNFINISHED
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 7.10.3 Used to communicate information about global, spatially varying environmental effects.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class GriddedDataPdu extends SyntheticEnvironmentFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/GroupID.java b/src-generated/edu/nps/moves/dis/GroupID.java
index bebece00bc7d60116ca3356fdb1c8c6507f1669b..c93f5686ed82eab1879603dc9c31fe6cda3cd187 100644
--- a/src-generated/edu/nps/moves/dis/GroupID.java
+++ b/src-generated/edu/nps/moves/dis/GroupID.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Unique designation of a group of entities contained in the isGroupOfPdu. Represents a group of entities rather than a single entity. Section 6.2.43
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class GroupID extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/IFFData.java b/src-generated/edu/nps/moves/dis/IFFData.java
index 2806a909b69e7656d3128065ade5dd25d7d64ffd..c18203347106f9e201fc0dc819014f04522da8de 100644
--- a/src-generated/edu/nps/moves/dis/IFFData.java
+++ b/src-generated/edu/nps/moves/dis/IFFData.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * repeating element in IFF Data specification record
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class IFFData extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/IFFFundamentalParameterData.java b/src-generated/edu/nps/moves/dis/IFFFundamentalParameterData.java
index 3519a39adf0cdebc6b6a9c51a6f214569eea1b59..db7b4723d77b8f2b214fad6d27088f12593c3a79 100644
--- a/src-generated/edu/nps/moves/dis/IFFFundamentalParameterData.java
+++ b/src-generated/edu/nps/moves/dis/IFFFundamentalParameterData.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Fundamental IFF atc data. Section 6.2.45
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class IFFFundamentalParameterData extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/IOCommsNodeRecord.java b/src-generated/edu/nps/moves/dis/IOCommsNodeRecord.java
index 62b082fe32e5a8acbf063e4eced9cd9e665fe00c..a0b79ee07b3d328aaa09de6041d00257e871c339 100644
--- a/src-generated/edu/nps/moves/dis/IOCommsNodeRecord.java
+++ b/src-generated/edu/nps/moves/dis/IOCommsNodeRecord.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * 6.2.48.2
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class IOCommsNodeRecord extends IORecord implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/IOEffectRecord.java b/src-generated/edu/nps/moves/dis/IOEffectRecord.java
index 51fce07f7eedc03237f02daea1b37464c508c470..606d3b0426916dcb8a74720360660c6ad536ae0a 100644
--- a/src-generated/edu/nps/moves/dis/IOEffectRecord.java
+++ b/src-generated/edu/nps/moves/dis/IOEffectRecord.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * 6.2.48.3
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class IOEffectRecord extends IORecord implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/IORecord.java b/src-generated/edu/nps/moves/dis/IORecord.java
index 3c299f3aafac8dc4a9630234807c6263be8a2df6..9720b9be21cd1ee80396897a337c92c864e68c34 100644
--- a/src-generated/edu/nps/moves/dis/IORecord.java
+++ b/src-generated/edu/nps/moves/dis/IORecord.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * 6.2.48
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class IORecord extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/IffDataSpecification.java b/src-generated/edu/nps/moves/dis/IffDataSpecification.java
index 98c0cf8fb6b6bdafe994862a7e8acd5e4bba5be2..cd3a0ab67a3bcc4a6ff418b7857ba8312aa1522f 100644
--- a/src-generated/edu/nps/moves/dis/IffDataSpecification.java
+++ b/src-generated/edu/nps/moves/dis/IffDataSpecification.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Requires hand coding to be useful. Section 6.2.43
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class IffDataSpecification extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/IffLayer2Pdu.java b/src-generated/edu/nps/moves/dis/IffLayer2Pdu.java
index 0e428ae1c55932ab1cc9d8b32438a9c78fe2e3cd..23ab8247b048e94b9215f2d26f76ce0fead5f5f7 100644
--- a/src-generated/edu/nps/moves/dis/IffLayer2Pdu.java
+++ b/src-generated/edu/nps/moves/dis/IffLayer2Pdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Section 5.3.7.4.2 When present, layer 2 should follow layer 1 and have the following fields. This requires manual cleanup.            the beamData attribute semantics are used in multiple ways. UNFINSISHED
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class IffLayer2Pdu extends IffPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/IffPdu.java b/src-generated/edu/nps/moves/dis/IffPdu.java
index 4a6b932046b60ced6973307e668b953b42a7621c..514eeacf8bf26f8e0f5b30374db4893c206daff2 100644
--- a/src-generated/edu/nps/moves/dis/IffPdu.java
+++ b/src-generated/edu/nps/moves/dis/IffPdu.java
@@ -1,11 +1,16 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class IffPdu extends DistributedEmissionsFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/InformationOperationsActionPdu.java b/src-generated/edu/nps/moves/dis/InformationOperationsActionPdu.java
index 78a9c2f4579725e432bd7fc2d99d6ca17848aca6..7db3db08dffb91c672cb870a7a86842fc5c4ad26 100644
--- a/src-generated/edu/nps/moves/dis/InformationOperationsActionPdu.java
+++ b/src-generated/edu/nps/moves/dis/InformationOperationsActionPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 7.12.2: Actions initiated by an IO simulation to support interactions with other IO simulations shall be communicated using this PDU.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.13.3.1 Used to communicate an IO attack or the effects of an IO attack on one or more target entities.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class InformationOperationsActionPdu extends InformationOperationsFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/InformationOperationsFamilyPdu.java b/src-generated/edu/nps/moves/dis/InformationOperationsFamilyPdu.java
index 7ce8fda63ebc06bfa88eb7cc87c62a373b8b6367..bdf7ff0ecee432a70580a71cd0349147be7619ea 100644
--- a/src-generated/edu/nps/moves/dis/InformationOperationsFamilyPdu.java
+++ b/src-generated/edu/nps/moves/dis/InformationOperationsFamilyPdu.java
@@ -1,13 +1,18 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
-public class InformationOperationsFamilyPdu extends PduBase implements Serializable
+public abstract class InformationOperationsFamilyPdu extends PduBase implements Serializable
 {
    /** Object originating the request */
    protected EntityID  originatingSimID = new EntityID(); 
diff --git a/src-generated/edu/nps/moves/dis/InformationOperationsReportPdu.java b/src-generated/edu/nps/moves/dis/InformationOperationsReportPdu.java
index 7c744d29da9b7fea7c1c8008c229b173b3508d5a..12eafba6e8de87f375ca65c3fa8c6f450d39d688 100644
--- a/src-generated/edu/nps/moves/dis/InformationOperationsReportPdu.java
+++ b/src-generated/edu/nps/moves/dis/InformationOperationsReportPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 7.12.3: The information operations status of an entity shall be conveyed with this PDU
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.13.4.1 Used to communicate the effects of an IO attack on one or more target entities.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class InformationOperationsReportPdu extends InformationOperationsFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/IntercomCommunicationsParameters.java b/src-generated/edu/nps/moves/dis/IntercomCommunicationsParameters.java
index 49d93ae7f50f8365dfa6fc843ac554f1154eb9ab..11356249c07b61e79786e4bdc362301c1a1cfb0b 100644
--- a/src-generated/edu/nps/moves/dis/IntercomCommunicationsParameters.java
+++ b/src-generated/edu/nps/moves/dis/IntercomCommunicationsParameters.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Intercom communcations parameters. Section 6.2.46
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class IntercomCommunicationsParameters extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/IntercomControlPdu.java b/src-generated/edu/nps/moves/dis/IntercomControlPdu.java
index 2347c27e0773027f6ee364f16298522a59e363aa..d4d2bef35828123c3e1a9985e74a751bc3979ea8 100644
--- a/src-generated/edu/nps/moves/dis/IntercomControlPdu.java
+++ b/src-generated/edu/nps/moves/dis/IntercomControlPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- *  Detailed inofrmation about the state of an intercom device and the actions it is requestion         of another intercom device, or the response to a requested action. Required manual intervention to fix the intercom parameters,        which can be of variable length.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.8.7 Communicates the state of a particular intercom device, request an action of another intercom device, or respond to an action request.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class IntercomControlPdu extends RadioCommunicationsFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/IntercomIdentifier.java b/src-generated/edu/nps/moves/dis/IntercomIdentifier.java
index 94aa6f2ad55f90c7ce54052c94e87f50c7c8aec9..abc9413a515cd36ea0b6ba6f2bcd75d6b0d8659c 100644
--- a/src-generated/edu/nps/moves/dis/IntercomIdentifier.java
+++ b/src-generated/edu/nps/moves/dis/IntercomIdentifier.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Unique designation of an attached or unattached intercom in an event or exercirse. Section 6.2.48
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class IntercomIdentifier extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/IntercomReferenceID.java b/src-generated/edu/nps/moves/dis/IntercomReferenceID.java
index cbf521f66af152f00a1e49fad17baa3c34894ebd..5c4638774e729f626274183055d49faa09b97594 100644
--- a/src-generated/edu/nps/moves/dis/IntercomReferenceID.java
+++ b/src-generated/edu/nps/moves/dis/IntercomReferenceID.java
@@ -1,11 +1,16 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class IntercomReferenceID extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/IntercomSignalPdu.java b/src-generated/edu/nps/moves/dis/IntercomSignalPdu.java
index 38309d1238fe00c32d79ea9a3fd0d26454bdede0..532fa1fa863e4f7c180acc509e0fedf076942f07 100644
--- a/src-generated/edu/nps/moves/dis/IntercomSignalPdu.java
+++ b/src-generated/edu/nps/moves/dis/IntercomSignalPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- *  Actual transmission of intercome voice data. Section 7.7.5.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.8.6 Conveys the audio or digital data that is used to communicate between simulated intercom devices
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class IntercomSignalPdu extends RadioCommunicationsFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/IsGroupOfPdu.java b/src-generated/edu/nps/moves/dis/IsGroupOfPdu.java
index 28be007ccd2223016b42c96ffc63748aa8c5d996..93369f0b6ec9d235541a11405569ad2f446bcc75 100644
--- a/src-generated/edu/nps/moves/dis/IsGroupOfPdu.java
+++ b/src-generated/edu/nps/moves/dis/IsGroupOfPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Information about a particular group of entities grouped together for the purposes of netowrk bandwidth reduction or aggregation. Needs manual cleanup. The GED size requires a database lookup. Section 7.8.3 UNFINISHED
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.9.3.1 The IsGroupOf PDU shall communicate information about the individual states of a group of entities, including state information that is necessary for the receiving simulation applications to represent the issuing group of entities in the simulation applications’ own simulation.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class IsGroupOfPdu extends EntityManagementFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/IsPartOfPdu.java b/src-generated/edu/nps/moves/dis/IsPartOfPdu.java
index 0681212ae0e5b164d73812b06f9f4ae3a25d4b35..1152ba43c133dbb584a1860c6aa040bda72fa691 100644
--- a/src-generated/edu/nps/moves/dis/IsPartOfPdu.java
+++ b/src-generated/edu/nps/moves/dis/IsPartOfPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- *  The joining of two or more simulation entities is communicated by this PDU. Section 7.8.5
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.9.5 Used to request hierarchical linkage of separately hosted simulation entities
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class IsPartOfPdu extends EntityManagementFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/JammingTechnique.java b/src-generated/edu/nps/moves/dis/JammingTechnique.java
index 4cb16c288499b2ecf13d0979b5219969702cb7e8..886f5cf9f23f5ed7dab300f2f7edafc2f158ee4d 100644
--- a/src-generated/edu/nps/moves/dis/JammingTechnique.java
+++ b/src-generated/edu/nps/moves/dis/JammingTechnique.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Jamming technique. Section 6.2.49, uid 284
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class JammingTechnique extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/JammingTechniqueRaw.java b/src-generated/edu/nps/moves/dis/JammingTechniqueRaw.java
index a6cde1b02d72698cef0005f2f64fcc1238a84ca3..509c0cc59deabdd4f1731e59002eed8c243eb1da 100644
--- a/src-generated/edu/nps/moves/dis/JammingTechniqueRaw.java
+++ b/src-generated/edu/nps/moves/dis/JammingTechniqueRaw.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Jamming technique. Section 6.2.49, uid 284
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class JammingTechniqueRaw extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/LEDetonationPdu.java b/src-generated/edu/nps/moves/dis/LEDetonationPdu.java
index 57466c8c8688a0b557042a7fda4278f2077795a9..b477db8a2dc539ea660a71a041c9a589a9067af0 100644
--- a/src-generated/edu/nps/moves/dis/LEDetonationPdu.java
+++ b/src-generated/edu/nps/moves/dis/LEDetonationPdu.java
@@ -1,11 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
+ * 9.4.6 Communicate information associated with the impact or detonation of a munition.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class LEDetonationPdu extends LiveEntityFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/LEFirePdu.java b/src-generated/edu/nps/moves/dis/LEFirePdu.java
index 1f0b9d9e94afa823bdbd0c34a3732e13e307208a..6a805cce96b91cecaf25e2964886b8de47c6c200 100644
--- a/src-generated/edu/nps/moves/dis/LEFirePdu.java
+++ b/src-generated/edu/nps/moves/dis/LEFirePdu.java
@@ -1,11 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
+ * 9.4.5 Representation of weapons fire in a DIS exercise involving LEs.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class LEFirePdu extends LiveEntityFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/LEVector3FixedByte.java b/src-generated/edu/nps/moves/dis/LEVector3FixedByte.java
index 799c1f1eb2153491790740e073c585f291ef8b8f..1550d9cd209f27e50f3f61eace64e3127b2ea934 100644
--- a/src-generated/edu/nps/moves/dis/LEVector3FixedByte.java
+++ b/src-generated/edu/nps/moves/dis/LEVector3FixedByte.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * 3 x 8-bit fixed binary
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class LEVector3FixedByte extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/LaunchedMunitionRecord.java b/src-generated/edu/nps/moves/dis/LaunchedMunitionRecord.java
index fea2d9555c8b2970573aa4f6d5b5afdaa0759c56..1d1e7e781dae9f8f830c88179005d6077e0c39e8 100644
--- a/src-generated/edu/nps/moves/dis/LaunchedMunitionRecord.java
+++ b/src-generated/edu/nps/moves/dis/LaunchedMunitionRecord.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Identity of a communications node. Section 6.2.50
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class LaunchedMunitionRecord extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/LayerHeader.java b/src-generated/edu/nps/moves/dis/LayerHeader.java
index 81616383f7ef9cc021b741624450bbbe46f99332..d4606b852b25e17a17d2953ce75206fee494d559 100644
--- a/src-generated/edu/nps/moves/dis/LayerHeader.java
+++ b/src-generated/edu/nps/moves/dis/LayerHeader.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * The identification of the additional information layer number, layer-specific information, and the length of the layer. Section 6.2.51
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class LayerHeader extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/LinearObjectStatePdu.java b/src-generated/edu/nps/moves/dis/LinearObjectStatePdu.java
index 6e56d6841320204664d228dea795f57724ac5f8c..46a4150b6dd92fc0e38069045aab22d029814305 100644
--- a/src-generated/edu/nps/moves/dis/LinearObjectStatePdu.java
+++ b/src-generated/edu/nps/moves/dis/LinearObjectStatePdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * : Information abut the addition or modification of a synthetic enviroment object that      is anchored to the terrain with a single point and has size or orientation. Section 7.10.5 
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 7.10.5 Used to communicate detailed information about the addition/modification of a synthetic environment object that is geometrically anchored to the terrain with one point and has size and orientation.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class LinearObjectStatePdu extends SyntheticEnvironmentFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/LinearSegmentParameter.java b/src-generated/edu/nps/moves/dis/LinearSegmentParameter.java
index da7bf2f892e15e4a65fb6962d6fd376eeeb13b07..400ad7a0e5f5c03363a6e3aff079e70d69dd647e 100644
--- a/src-generated/edu/nps/moves/dis/LinearSegmentParameter.java
+++ b/src-generated/edu/nps/moves/dis/LinearSegmentParameter.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * The specification of an individual segment of a linear segment synthetic environment object in a Linear Object State PDU Section 6.2.52
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class LinearSegmentParameter extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/LiveDeadReckoningParameters.java b/src-generated/edu/nps/moves/dis/LiveDeadReckoningParameters.java
index beec58426552b28928847ba6fa6dde066c7e0caa..6a43d46cf59e849a1ff10d93ca2ba75c93ceb612 100644
--- a/src-generated/edu/nps/moves/dis/LiveDeadReckoningParameters.java
+++ b/src-generated/edu/nps/moves/dis/LiveDeadReckoningParameters.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * 16 bit fixed binaries
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class LiveDeadReckoningParameters extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/LiveEntityFamilyPdu.java b/src-generated/edu/nps/moves/dis/LiveEntityFamilyPdu.java
index 92dfeb2ba255ca398432873b4daad8a632a57bb8..1d0e75c7879bc0395e43b92f01fe1110188aac4d 100644
--- a/src-generated/edu/nps/moves/dis/LiveEntityFamilyPdu.java
+++ b/src-generated/edu/nps/moves/dis/LiveEntityFamilyPdu.java
@@ -1,13 +1,18 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
-public class LiveEntityFamilyPdu extends LiveEntityPdu implements Serializable
+public abstract class LiveEntityFamilyPdu extends LiveEntityPdu implements Serializable
 {
 
 /** Constructor */
diff --git a/src-generated/edu/nps/moves/dis/LiveEntityIdentifier.java b/src-generated/edu/nps/moves/dis/LiveEntityIdentifier.java
index 0bb20ea044f2289dd0d1cd763f59e41dc0cc5c5e..0fb2b023a2fb95d7b6a601aafc822caaae9a1baf 100644
--- a/src-generated/edu/nps/moves/dis/LiveEntityIdentifier.java
+++ b/src-generated/edu/nps/moves/dis/LiveEntityIdentifier.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * The unique designation of each entity in an event or exercise that is contained in a Live Entity PDU. Section 6.2.54 
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class LiveEntityIdentifier extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/LiveEntityLinearVelocity.java b/src-generated/edu/nps/moves/dis/LiveEntityLinearVelocity.java
index f5388f6d9ce27889ba0c4b55654a880593287b17..a273536cfb7ad236383b08f730d5272ad33986b6 100644
--- a/src-generated/edu/nps/moves/dis/LiveEntityLinearVelocity.java
+++ b/src-generated/edu/nps/moves/dis/LiveEntityLinearVelocity.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * 16 bit fixed binaries
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class LiveEntityLinearVelocity extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/LiveEntityOrientation.java b/src-generated/edu/nps/moves/dis/LiveEntityOrientation.java
index f2123799d8d60a3aaf9187cbcf8e3197616a1e44..674706c968053c09c2437113443d3cb269d58fd8 100644
--- a/src-generated/edu/nps/moves/dis/LiveEntityOrientation.java
+++ b/src-generated/edu/nps/moves/dis/LiveEntityOrientation.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * 8 bit fixed binaries
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class LiveEntityOrientation extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/LiveEntityOrientation16.java b/src-generated/edu/nps/moves/dis/LiveEntityOrientation16.java
index 0b8672932a07ff67f78e5e95ccd978affe68dac9..c1e229187bce303ab53904564b44e09ed97c2da4 100644
--- a/src-generated/edu/nps/moves/dis/LiveEntityOrientation16.java
+++ b/src-generated/edu/nps/moves/dis/LiveEntityOrientation16.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * 16 bit fixed binaries
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class LiveEntityOrientation16 extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/LiveEntityOrientationError.java b/src-generated/edu/nps/moves/dis/LiveEntityOrientationError.java
index ddcf7e898a149d8173b18d5de5b816f99e7976ff..bb76d92c7dc7457f33f37b71cddcf2534ef32e01 100644
--- a/src-generated/edu/nps/moves/dis/LiveEntityOrientationError.java
+++ b/src-generated/edu/nps/moves/dis/LiveEntityOrientationError.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * 16 bit fixed binaries
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class LiveEntityOrientationError extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/LiveEntityPdu.java b/src-generated/edu/nps/moves/dis/LiveEntityPdu.java
index bd076dfc418b0f10a6ef3d47f529d03aca4a236b..01537e856e84478a0e26ebec0d81f76c47bd2f25 100644
--- a/src-generated/edu/nps/moves/dis/LiveEntityPdu.java
+++ b/src-generated/edu/nps/moves/dis/LiveEntityPdu.java
@@ -1,19 +1,19 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * The live entity PDUs have a slightly different header
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
-public class LiveEntityPdu extends Pdu implements Serializable
+public abstract class LiveEntityPdu extends Pdu implements Serializable
 {
    /** Subprotocol used to decode the PDU. Section 13 of EBV. uid 417 */
    protected DISLiveEntitySubprotocolNumber subprotocolNumber = DISLiveEntitySubprotocolNumber.values()[0];
diff --git a/src-generated/edu/nps/moves/dis/LiveEntityPositionError.java b/src-generated/edu/nps/moves/dis/LiveEntityPositionError.java
index 9839dd7dba0c7a62ae665902c903a0aa727c1f5a..239f0497dd471261214d1d6f527f23e061a5df0d 100644
--- a/src-generated/edu/nps/moves/dis/LiveEntityPositionError.java
+++ b/src-generated/edu/nps/moves/dis/LiveEntityPositionError.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * 16 bit fixed binaries
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class LiveEntityPositionError extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/LiveEntityRelativeWorldCoordinates.java b/src-generated/edu/nps/moves/dis/LiveEntityRelativeWorldCoordinates.java
index b175c0907a6c05edbae6ce9c63abfdcb952bb43f..68b96c546e45b9addd1085644d553fbe7b9a58ed 100644
--- a/src-generated/edu/nps/moves/dis/LiveEntityRelativeWorldCoordinates.java
+++ b/src-generated/edu/nps/moves/dis/LiveEntityRelativeWorldCoordinates.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * 16 bit fixed binaries
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class LiveEntityRelativeWorldCoordinates extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/LiveSimulationAddress.java b/src-generated/edu/nps/moves/dis/LiveSimulationAddress.java
index 45bb716624fffeeea483d56535b93f11a5b9d8c9..acb02417ad1da52fd05c92bd10a937ab351fa8f9 100644
--- a/src-generated/edu/nps/moves/dis/LiveSimulationAddress.java
+++ b/src-generated/edu/nps/moves/dis/LiveSimulationAddress.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * A simulation's designation associated with all Live Entity IDs contained in Live Entity PDUs. Section 6.2.55 
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class LiveSimulationAddress extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/LogisticsFamilyPdu.java b/src-generated/edu/nps/moves/dis/LogisticsFamilyPdu.java
index 7ab717969f1d029701b0a851206aa96bfb77cfb2..e27c684d642d916c4550a3bd2ff0f752a94ffa21 100644
--- a/src-generated/edu/nps/moves/dis/LogisticsFamilyPdu.java
+++ b/src-generated/edu/nps/moves/dis/LogisticsFamilyPdu.java
@@ -1,19 +1,19 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- *  Abstract superclass for logistics PDUs. Section 7.4
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * Abstract superclass for logistics PDUs. Section 7.4
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
-public class LogisticsFamilyPdu extends PduBase implements Serializable
+public abstract class LogisticsFamilyPdu extends PduBase implements Serializable
 {
 
 /** Constructor */
diff --git a/src-generated/edu/nps/moves/dis/MineEmplacementTime.java b/src-generated/edu/nps/moves/dis/MineEmplacementTime.java
index 215dc28a6e49ea9e3933f6e8916fd150205ea950..de5fe508116cb8dc43f35cde66ba3c5a31cd9801 100644
--- a/src-generated/edu/nps/moves/dis/MineEmplacementTime.java
+++ b/src-generated/edu/nps/moves/dis/MineEmplacementTime.java
@@ -1,11 +1,16 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class MineEmplacementTime extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/MineEntityIdentifier.java b/src-generated/edu/nps/moves/dis/MineEntityIdentifier.java
index 241020c88535301f98651b88a1edddd8ada5a116..4637b3568c1edd3bb87c2e106699427ee18a4dc8 100644
--- a/src-generated/edu/nps/moves/dis/MineEntityIdentifier.java
+++ b/src-generated/edu/nps/moves/dis/MineEntityIdentifier.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * The unique designation of a mine contained in the Minefield Data PDU. No espdus are issued for mine entities.  Section 6.2.55 
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class MineEntityIdentifier extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/MinefieldDataPdu.java b/src-generated/edu/nps/moves/dis/MinefieldDataPdu.java
index 9dfaf3bb5c22dd749389ff7a7d8de718fd4b4460..a865c444f5e39f30baa0017c0aefdbd20dac15d8 100644
--- a/src-generated/edu/nps/moves/dis/MinefieldDataPdu.java
+++ b/src-generated/edu/nps/moves/dis/MinefieldDataPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Information about individual mines within a minefield. This is very, very wrong. Section 7.9.4 UNFINISHED
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.10.4 Information about the location and status of a collection of mines in a minefield is conveyed through the Minefield Data PDU on an individual mine basis.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class MinefieldDataPdu extends MinefieldFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/MinefieldFamilyPdu.java b/src-generated/edu/nps/moves/dis/MinefieldFamilyPdu.java
index 5f267963280cffe3622b60b4077b3e039841ed0e..f668c71318e0fd18774855480020fb53e6139c07 100644
--- a/src-generated/edu/nps/moves/dis/MinefieldFamilyPdu.java
+++ b/src-generated/edu/nps/moves/dis/MinefieldFamilyPdu.java
@@ -1,19 +1,19 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  *  Abstract superclass for PDUs relating to minefields. Section 7.9
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
-public class MinefieldFamilyPdu extends PduBase implements Serializable
+public abstract class MinefieldFamilyPdu extends PduBase implements Serializable
 {
 
 /** Constructor */
diff --git a/src-generated/edu/nps/moves/dis/MinefieldIdentifier.java b/src-generated/edu/nps/moves/dis/MinefieldIdentifier.java
index 1c609d69047b2a146d56537c1cfd851ab4dfcc9c..0b62b6b408b4964077632a72c278995b5d299f18 100644
--- a/src-generated/edu/nps/moves/dis/MinefieldIdentifier.java
+++ b/src-generated/edu/nps/moves/dis/MinefieldIdentifier.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * The unique designation of a minefield Section 6.2.56 
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class MinefieldIdentifier extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/MinefieldQueryPdu.java b/src-generated/edu/nps/moves/dis/MinefieldQueryPdu.java
index 371f2b7e4528c00b6488ac7d1fb7a6902d52625a..bbdbba72444a4f3ae4741796fb81dd6c657af6f3 100644
--- a/src-generated/edu/nps/moves/dis/MinefieldQueryPdu.java
+++ b/src-generated/edu/nps/moves/dis/MinefieldQueryPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Query a minefield for information about individual mines.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.10.3 Contains information about the requesting entity and the region and mine types of interest to the requesting entity.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class MinefieldQueryPdu extends MinefieldFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/MinefieldResponseNackPdu.java b/src-generated/edu/nps/moves/dis/MinefieldResponseNackPdu.java
index b7c9157441fe37ccd52cfa7c2b37475c2ab72350..d15b4f9de77f24a2dee572142211f487b674120a 100644
--- a/src-generated/edu/nps/moves/dis/MinefieldResponseNackPdu.java
+++ b/src-generated/edu/nps/moves/dis/MinefieldResponseNackPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * proivde the means to request a retransmit of a minefield data pdu. Section 7.9.5
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.10.5 Contains information about the requesting entity and the PDU(s) that were not received in response to a query.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class MinefieldResponseNackPdu extends MinefieldFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/MinefieldSensorType.java b/src-generated/edu/nps/moves/dis/MinefieldSensorType.java
index 130541390961d08ebad43d79ba02466b9e098ff3..40e5f494dd2a53042df0155d4e2136fc08141aab 100644
--- a/src-generated/edu/nps/moves/dis/MinefieldSensorType.java
+++ b/src-generated/edu/nps/moves/dis/MinefieldSensorType.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Information about a minefield sensor. Section 6.2.57
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class MinefieldSensorType extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/MinefieldStatePdu.java b/src-generated/edu/nps/moves/dis/MinefieldStatePdu.java
index 7ba989f13ef1c2641715401d161e220415783dd9..282b31d8d322e093a69e7e7bffe29972b5e27062 100644
--- a/src-generated/edu/nps/moves/dis/MinefieldStatePdu.java
+++ b/src-generated/edu/nps/moves/dis/MinefieldStatePdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * information about the complete minefield. The minefield presence, perimiter, etc. Section 7.9.2
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.10.2 Communicate information about the minefield, including the location, perimeter, and types of mines contained within it.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class MinefieldStatePdu extends MinefieldFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/ModulationParameters.java b/src-generated/edu/nps/moves/dis/ModulationParameters.java
index b94b9a66059997a8bccb35cd8d79af151239b969..45b69cff1a7e52b2ad1dbf3892648b5f63b95289 100644
--- a/src-generated/edu/nps/moves/dis/ModulationParameters.java
+++ b/src-generated/edu/nps/moves/dis/ModulationParameters.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Modulation parameters associated with a specific radio system.  6.2.58 
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class ModulationParameters extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/ModulationType.java b/src-generated/edu/nps/moves/dis/ModulationType.java
index 859cd3a2346598dfd3ac640f4c974a82999e77c1..5cefc990eb468ce9bb52415c933ec5ef3afd895a 100644
--- a/src-generated/edu/nps/moves/dis/ModulationType.java
+++ b/src-generated/edu/nps/moves/dis/ModulationType.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Information about the type of modulation used for radio transmission. 6.2.59 
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class ModulationType extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/Munition.java b/src-generated/edu/nps/moves/dis/Munition.java
index 02c02910b4e08609139c6567fc5d80e6fde1f793..b64820b94f3c170eaa2014aa13f3fce22c49a48c 100644
--- a/src-generated/edu/nps/moves/dis/Munition.java
+++ b/src-generated/edu/nps/moves/dis/Munition.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * An entity's munition (e.g., bomb, missile) information shall be represented by one or more Munition records. For each type or location of munition, this record shall specify the type, location, quantity and status of munitions that an entity contains. Section 6.2.60 
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class Munition extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/MunitionDescriptor.java b/src-generated/edu/nps/moves/dis/MunitionDescriptor.java
index 613700b7cd31c26d9b43892ef6cff615cf3a1f20..e1b8cbb8c7b4afbb5ac642f384e5a9608cad0856 100644
--- a/src-generated/edu/nps/moves/dis/MunitionDescriptor.java
+++ b/src-generated/edu/nps/moves/dis/MunitionDescriptor.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Represents the firing or detonation of a munition. Section 6.2.19.2
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class MunitionDescriptor extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/MunitionReload.java b/src-generated/edu/nps/moves/dis/MunitionReload.java
index 7cc58e852601093a875b4756074798b117562c1e..2fee56763b3f8c01735868048e838f009e94f93d 100644
--- a/src-generated/edu/nps/moves/dis/MunitionReload.java
+++ b/src-generated/edu/nps/moves/dis/MunitionReload.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * indicate weapons (munitions) previously communicated via the Munition record. Section 6.2.61 
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class MunitionReload extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/NamedLocationIdentification.java b/src-generated/edu/nps/moves/dis/NamedLocationIdentification.java
index ea72bb52e5ee48f7a7454482ff9ef5193fe9dbe6..bb823d12cd2e739dfe720f606f3e5410d5be37a2 100644
--- a/src-generated/edu/nps/moves/dis/NamedLocationIdentification.java
+++ b/src-generated/edu/nps/moves/dis/NamedLocationIdentification.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Information about the discrete positional relationship of the part entity with respect to the its host entity Section 6.2.62 
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class NamedLocationIdentification extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/ObjectIdentifier.java b/src-generated/edu/nps/moves/dis/ObjectIdentifier.java
index b48354fc405084dc1d24a7865ed5e4c3edade6c3..505ba54de736157daeb09b57a9c8b4a3783b0546 100644
--- a/src-generated/edu/nps/moves/dis/ObjectIdentifier.java
+++ b/src-generated/edu/nps/moves/dis/ObjectIdentifier.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * The unique designation of an environmental object. Section 6.2.63
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class ObjectIdentifier extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/ObjectType.java b/src-generated/edu/nps/moves/dis/ObjectType.java
index 8b455ef0b66a539e3d43f72a30bb11b0c67ba894..bedd4c7461afa8653d55630f313af4da748fb25f 100644
--- a/src-generated/edu/nps/moves/dis/ObjectType.java
+++ b/src-generated/edu/nps/moves/dis/ObjectType.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * The unique designation of an environmental object. Section 6.2.64
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class ObjectType extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/OwnershipStatusRecord.java b/src-generated/edu/nps/moves/dis/OwnershipStatusRecord.java
index aaec32dd832222ef3792db0ed55319811c9dfb5e..63b2141833f6f997cccf7f313f01c79e4b33dd3c 100644
--- a/src-generated/edu/nps/moves/dis/OwnershipStatusRecord.java
+++ b/src-generated/edu/nps/moves/dis/OwnershipStatusRecord.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * used to convey entity and conflict status information associated with transferring ownership of an entity. Section 6.2.65
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class OwnershipStatusRecord extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/Pdu.java b/src-generated/edu/nps/moves/dis/Pdu.java
index 7a4c9d4f6842074400fff8e30dfe82b8f5f46892..dcd086a70a2130b7962978f5a816f2d599ba6f02 100644
--- a/src-generated/edu/nps/moves/dis/Pdu.java
+++ b/src-generated/edu/nps/moves/dis/Pdu.java
@@ -1,19 +1,19 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Base class of PduBase and LiveEntityPdu
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
-public class Pdu extends Object implements Serializable
+public abstract class Pdu extends Object implements Serializable
 {
    /** The version of the protocol. 5=DIS-1995, 6=DIS-1998, 7=DIS-2012 uid 3 */
    protected DISProtocolVersion protocolVersion = DISProtocolVersion.IEEE_12781_2012;
diff --git a/src-generated/edu/nps/moves/dis/PduBase.java b/src-generated/edu/nps/moves/dis/PduBase.java
index 6ec4f0974f3f65591942c36f570eb00955fc057c..836f2d465889cc2733681c0d79870c70b05f277a 100644
--- a/src-generated/edu/nps/moves/dis/PduBase.java
+++ b/src-generated/edu/nps/moves/dis/PduBase.java
@@ -1,19 +1,19 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * The superclass for all PDUs except LiveEntitys. This incorporates the PduHeader record, section 7.2.2
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
-public class PduBase extends Pdu implements Serializable
+public abstract class PduBase extends Pdu implements Serializable
 {
    /** PDU Status Record. Described in 6.2.67. This field is not present in earlier DIS versions  */
    protected PduStatus  pduStatus = new PduStatus(); 
diff --git a/src-generated/edu/nps/moves/dis/PduContainer.java b/src-generated/edu/nps/moves/dis/PduContainer.java
deleted file mode 100644
index 44c37da6c2d5ab3387f22e9e62ac97e9d21e02bc..0000000000000000000000000000000000000000
--- a/src-generated/edu/nps/moves/dis/PduContainer.java
+++ /dev/null
@@ -1,189 +0,0 @@
-package edu.nps.moves.dis;
-
-import java.util.*;
-import java.io.*;
-import edu.nps.moves.dis.enumerations.*;
-
-
-/**
- * Used for XML compatability. A container that holds PDUs
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
- */
-public class PduContainer extends Object implements Serializable
-{
-   /** Number of PDUs in the container list */
-   protected int  numberOfPdus;
-
-   /** record sets */
-   protected List< Pdu > pdus = new ArrayList< Pdu >();
- 
-
-/** Constructor */
- public PduContainer()
- {
- }
-
-public int getMarshalledSize()
-{
-   int marshalSize = 0; 
-
-   marshalSize += 4;  // numberOfPdus
-   for(int idx=0; idx < pdus.size(); idx++)
-   {
-        Pdu listElement = pdus.get(idx);
-        marshalSize += listElement.getMarshalledSize();
-   }
-
-   return marshalSize;
-}
-
-
-public PduContainer setPdus(List<Pdu> pPdus)
-{
-    pdus = pPdus;
-    return this;
-}
-
-public List<Pdu> getPdus()
-{
-    return pdus; 
-}
-
-/**
- * Serializes an object to a DataOutputStream.
- * @see java.io.DataOutputStream
- * @param dos The DataOutputStream
- */
-public void marshal(DataOutputStream dos)
-{
-    try 
-    {
-       dos.writeInt( (int)pdus.size());
-
-       for(int idx = 0; idx < pdus.size(); idx++)
-       {
-            Pdu aPdu = pdus.get(idx);
-            aPdu.marshal(dos);
-       }
-
-    }
-    catch(Exception e)
-    {
-      System.err.println(e);
-    }
-}
-
-/**
- * Unserializes an object from a DataInputStream.
- * @see java.io.DataInputStream
- * @param dis The DataInputStream
- * @return marshalled size
- */
-public int unmarshal(DataInputStream dis)
-{
-    int uPosition = 0;
-    try 
-    {
-        numberOfPdus = dis.readInt();
-        uPosition += 4;
-        for(int idx = 0; idx < numberOfPdus; idx++)
-        {
-            Pdu anX = new Pdu();
-            uPosition += anX.unmarshal(dis);
-            pdus.add(anX);
-        }
-
-    }
-    catch(Exception e)
-    { 
-      System.out.println(e); 
-    }
-    return getMarshalledSize();
-}
-
-/**
- * Packs an object into the ByteBuffer.
- * @throws java.nio.BufferOverflowException if buff is too small
- * @throws java.nio.ReadOnlyBufferException if buff is read only
- * @see java.nio.ByteBuffer
- * @param buff The ByteBuffer at the position to begin writing
- * @throws Exception ByteBuffer-generated exception
- */
-public void marshal(java.nio.ByteBuffer buff) throws Exception
-{
-   buff.putInt( (int)pdus.size());
-
-   for(int idx = 0; idx < pdus.size(); idx++)
-   {
-        Pdu aPdu = (Pdu)pdus.get(idx);
-        aPdu.marshal(buff);
-   }
-
-}
-
-/**
- * Unpacks a Pdu from the underlying data.
- * @throws java.nio.BufferUnderflowException if buff is too small
- * @see java.nio.ByteBuffer
- * @param buff The ByteBuffer at the position to begin reading
- * @return marshalled size
- * @throws Exception ByteBuffer-generated exception
- */
-public int unmarshal(java.nio.ByteBuffer buff) throws Exception
-{
-    numberOfPdus = buff.getInt();
-    for(int idx = 0; idx < numberOfPdus; idx++)
-    {
-    Pdu anX = new Pdu();
-    anX.unmarshal(buff);
-    pdus.add(anX);
-    }
-
-    return getMarshalledSize();
-}
-
- /*
-  * The equals method doesn't always work--mostly it works only on classes that consist only of primitives. Be careful.
-  */
-@Override
- public boolean equals(Object obj)
- {
-    if(this == obj)
-      return true;
-
-    if(obj == null)
-       return false;
-
-    if(getClass() != obj.getClass())
-        return false;
-
-    return equalsImpl(obj);
- }
-
- /**
-  * Compare all fields that contribute to the state, ignoring
-  * transient and static fields, for <code>this</code> and the supplied object
-  * @param obj the object to compare to
-  * @return true if the objects are equal, false otherwise.
-  */
- public boolean equalsImpl(Object obj)
- {
-     boolean ivarsEqual = true;
-
-    if(!(obj instanceof PduContainer))
-        return false;
-
-     final PduContainer rhs = (PduContainer)obj;
-
-     if( ! (numberOfPdus == rhs.numberOfPdus)) ivarsEqual = false;
-
-     for(int idx = 0; idx < pdus.size(); idx++)
-        if( ! ( pdus.get(idx).equals(rhs.pdus.get(idx)))) ivarsEqual = false;
-
-    return ivarsEqual;
- }
-} // end of class
diff --git a/src-generated/edu/nps/moves/dis/PointObjectStatePdu.java b/src-generated/edu/nps/moves/dis/PointObjectStatePdu.java
index dd03c202861aa3420c6874f085e43f36f987b071..4353bc34075f34567d1f8b6303929fd02570f193 100644
--- a/src-generated/edu/nps/moves/dis/PointObjectStatePdu.java
+++ b/src-generated/edu/nps/moves/dis/PointObjectStatePdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * : Inormation abut the addition or modification of a synthecic enviroment object that is anchored to the terrain with a single point. Section 7.10.4
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 7.10.4 Used to communicate detailed information about the addition/modification of a synthetic environment object that is geometrically anchored to the terrain with a single point.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class PointObjectStatePdu extends SyntheticEnvironmentFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/PropulsionSystemData.java b/src-generated/edu/nps/moves/dis/PropulsionSystemData.java
index 399acdfb41d2564e545203959308fa9fdc5feeaf..6b80aea42b5f0d6460e016315fe7ec0533958c59 100644
--- a/src-generated/edu/nps/moves/dis/PropulsionSystemData.java
+++ b/src-generated/edu/nps/moves/dis/PropulsionSystemData.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * contains information describing the propulsion systems of the entity. This information shall be provided for each active propulsion system defined. Section 6.2.68
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class PropulsionSystemData extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/ProtocolMode.java b/src-generated/edu/nps/moves/dis/ProtocolMode.java
index ed1a23b272680bbd1f28eda3c54069e84ec41a32..d3a3b58f34959e6045a240c851efe705ec767120 100644
--- a/src-generated/edu/nps/moves/dis/ProtocolMode.java
+++ b/src-generated/edu/nps/moves/dis/ProtocolMode.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Bit field used to identify minefield data. bits 14-15 are a 2-bit enum, other bits unused. Section 6.2.69
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class ProtocolMode extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/RadioCommsHeader.java b/src-generated/edu/nps/moves/dis/RadioCommsHeader.java
index d79aeff90b84a5247765d8496c5cd0183b1beca8..5c7b1323979a7785f7df8cfaa7216df1b3c7c421 100644
--- a/src-generated/edu/nps/moves/dis/RadioCommsHeader.java
+++ b/src-generated/edu/nps/moves/dis/RadioCommsHeader.java
@@ -1,11 +1,16 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class RadioCommsHeader extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/RadioCommunicationsFamilyPdu.java b/src-generated/edu/nps/moves/dis/RadioCommunicationsFamilyPdu.java
index 91eefbc6c34f15d67b32ba6a69cf86d6397ad26f..3b4429ba519913e90b4a429eb8e8a6c11ada5cbd 100644
--- a/src-generated/edu/nps/moves/dis/RadioCommunicationsFamilyPdu.java
+++ b/src-generated/edu/nps/moves/dis/RadioCommunicationsFamilyPdu.java
@@ -1,19 +1,19 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  *  Abstract superclass for radio communications PDUs. Section 7.7
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
-public class RadioCommunicationsFamilyPdu extends PduBase implements Serializable
+public abstract class RadioCommunicationsFamilyPdu extends PduBase implements Serializable
 {
 
 /** Constructor */
diff --git a/src-generated/edu/nps/moves/dis/RadioIdentifier.java b/src-generated/edu/nps/moves/dis/RadioIdentifier.java
index 3e55320a0c6c261e505685a5f1b6d2fd27a37e65..335865b52491fd4c01d2430308b8f4148c3bf1ef 100644
--- a/src-generated/edu/nps/moves/dis/RadioIdentifier.java
+++ b/src-generated/edu/nps/moves/dis/RadioIdentifier.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * The unique designation of an attached or unattached radio in an event or exercise Section 6.2.70
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class RadioIdentifier extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/RadioType.java b/src-generated/edu/nps/moves/dis/RadioType.java
index 582f32865aa1c0cb1f18678e702c8c2be48dc90a..2100986f5459d27be633216bd1bcebb9a008cc0b 100644
--- a/src-generated/edu/nps/moves/dis/RadioType.java
+++ b/src-generated/edu/nps/moves/dis/RadioType.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Identifies the type of radio. Section 6.2.71
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class RadioType extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/ReceiverPdu.java b/src-generated/edu/nps/moves/dis/ReceiverPdu.java
index 1b99f90689c5f29a4ec0c3d5b0f64a774e81521e..9b250e3b85d6c19903789a67bad5f2fb0165a12f 100644
--- a/src-generated/edu/nps/moves/dis/ReceiverPdu.java
+++ b/src-generated/edu/nps/moves/dis/ReceiverPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- *  Communication of a receiver state. Section 7.7.4
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.8.5 Communicates the state of a particular radio receiver. Its primary application is in communicating state information to radio network monitors, data loggers, and similar applications for use in debugging, supervision, and after-action review.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class ReceiverPdu extends RadioCommunicationsFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/RecordQueryReliablePdu.java b/src-generated/edu/nps/moves/dis/RecordQueryReliablePdu.java
index 37904aeeb0a45c2ee07cb32969553bc8923b0593..9be8eed66018a60b3d181f3ff63fdfac1d9da47b 100644
--- a/src-generated/edu/nps/moves/dis/RecordQueryReliablePdu.java
+++ b/src-generated/edu/nps/moves/dis/RecordQueryReliablePdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 5.3.12.13: A request for one or more records of data from an entity.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.12.4.14 Used to communicate a request for data in record format.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class RecordQueryReliablePdu extends SimulationManagementWithReliabilityFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/RecordQuerySpecification.java b/src-generated/edu/nps/moves/dis/RecordQuerySpecification.java
index ac3faf2a2c7ab625a83320b86a30755ce0104b27..155b6d256fc1f9edc7f6f6c69fef288a807d2d3f 100644
--- a/src-generated/edu/nps/moves/dis/RecordQuerySpecification.java
+++ b/src-generated/edu/nps/moves/dis/RecordQuerySpecification.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * The identification of the records being queried 6.2.72
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class RecordQuerySpecification extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/RecordReliablePdu.java b/src-generated/edu/nps/moves/dis/RecordReliablePdu.java
index 090b080d1cc06ee10c64bcb3db474871380151fb..ca639a0554c939547219734773dfb5f25bdc2216 100644
--- a/src-generated/edu/nps/moves/dis/RecordReliablePdu.java
+++ b/src-generated/edu/nps/moves/dis/RecordReliablePdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 7.11.16: Response to RecordQueryReliablePdu. 
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.12.4.16 Used to respond to a Record Query-R PDU or a Set Record-R PDU. It is used to provide information requested in a Record Query-R PDU, to confirm the information received in a Set Record-R PDU, and to confirm the receipt of a periodic or unsolicited Record-R PDU when the acknowledged service level is used.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class RecordReliablePdu extends SimulationManagementWithReliabilityFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/RecordSpecification.java b/src-generated/edu/nps/moves/dis/RecordSpecification.java
index cfd54885efaaff7f0bf74c3b208f5a1efa75bfcc..42a83533efac215ce36f19bd7020ba346ee27024 100644
--- a/src-generated/edu/nps/moves/dis/RecordSpecification.java
+++ b/src-generated/edu/nps/moves/dis/RecordSpecification.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * This record shall specify the number of record sets contained in the Record Specification record and the record details. Section 6.2.73.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class RecordSpecification extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/RecordSpecificationElement.java b/src-generated/edu/nps/moves/dis/RecordSpecificationElement.java
index 2beae3f578ca4d60fcc461ce6a456581f25a341f..31b98ab6daddfb1f77e7230d20d5409a4fe17a5a 100644
--- a/src-generated/edu/nps/moves/dis/RecordSpecificationElement.java
+++ b/src-generated/edu/nps/moves/dis/RecordSpecificationElement.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Synthetic record, made up from section 6.2.72. This is used to acheive a repeating variable list element.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class RecordSpecificationElement extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/Relationship.java b/src-generated/edu/nps/moves/dis/Relationship.java
index 42b3f2089b8eab2a170464a29619c59f81119061..990396566b9f8acf66db217c8b55904f971fad0d 100644
--- a/src-generated/edu/nps/moves/dis/Relationship.java
+++ b/src-generated/edu/nps/moves/dis/Relationship.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * The relationship of the part entity to its host entity. Section 6.2.74.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class Relationship extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/RemoveEntityPdu.java b/src-generated/edu/nps/moves/dis/RemoveEntityPdu.java
index d1df88f4ffe98a059c2bbe5eed15192e9af555ba..4bb357f94d6de175c4cb5e626c58f5bbb82c9ed9 100644
--- a/src-generated/edu/nps/moves/dis/RemoveEntityPdu.java
+++ b/src-generated/edu/nps/moves/dis/RemoveEntityPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 7.5.3 The removal of an entity from an exercise shall be communicated with a Remove Entity PDU.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * Section 7.5.3 The removal of an entity from an exercise shall be communicated with a Remove Entity PDU. See 5.6.5.3.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class RemoveEntityPdu extends SimulationManagementFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/RemoveEntityReliablePdu.java b/src-generated/edu/nps/moves/dis/RemoveEntityReliablePdu.java
index 8424ce3025b756919bf3e5a9522b5a0d4584f981..95d5d9bb59a463e8cecac72d3ce39216f531cda7 100644
--- a/src-generated/edu/nps/moves/dis/RemoveEntityReliablePdu.java
+++ b/src-generated/edu/nps/moves/dis/RemoveEntityReliablePdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 5.3.12.2: Removal of an entity , reliable.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.12.4.3 Contains the same information as found in the Remove Entity PDU with the addition of the level of reliability service to be used for the removal action being requested.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class RemoveEntityReliablePdu extends SimulationManagementWithReliabilityFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/RepairCompletePdu.java b/src-generated/edu/nps/moves/dis/RepairCompletePdu.java
index 3b7c491d4d8a852ab37605a184c105874e7455c7..7cc738c828a5a6ee76b73286cba479dd4ffd54d1 100644
--- a/src-generated/edu/nps/moves/dis/RepairCompletePdu.java
+++ b/src-generated/edu/nps/moves/dis/RepairCompletePdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 7.4.6. Service Request PDU is received and repair is complete.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.5.10 Used by the repairing entity to communicate the repair that has been performed for the entity that requested repair service.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class RepairCompletePdu extends LogisticsFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/RepairResponsePdu.java b/src-generated/edu/nps/moves/dis/RepairResponsePdu.java
index c79d404b8d2a055860598fd6d47e40a06ff8f93d..c59756341d12f2bedb117db1ad9209d72dc959e0 100644
--- a/src-generated/edu/nps/moves/dis/RepairResponsePdu.java
+++ b/src-generated/edu/nps/moves/dis/RepairResponsePdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 7.4.7. Sent after repair complete PDU.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.5.11 used by the receiving entity to acknowledge the receipt of a Repair Complete PDU
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class RepairResponsePdu extends LogisticsFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/RequestID.java b/src-generated/edu/nps/moves/dis/RequestID.java
index b77d08a1d31716dfb326e88d5eef931ce6fcf874..ca854d9a6b83e32a7def146ed375681bbee599df 100644
--- a/src-generated/edu/nps/moves/dis/RequestID.java
+++ b/src-generated/edu/nps/moves/dis/RequestID.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * A monotonically increasing number inserted into all simulation managment PDUs. This should be a hand-coded thingie, maybe a singleton. Section 6.2.75
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class RequestID extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/ResupplyCancelPdu.java b/src-generated/edu/nps/moves/dis/ResupplyCancelPdu.java
index fa9d4539a1eef90bdd8a27f7331871c3b0592368..eee75670259de44a213986b063416de66d624fc2 100644
--- a/src-generated/edu/nps/moves/dis/ResupplyCancelPdu.java
+++ b/src-generated/edu/nps/moves/dis/ResupplyCancelPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Information used to communicate the offer of supplies by a supplying entity to a receiving entity. Section 7.4.3
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.5.8 Used to communicate the canceling of a resupply service provided through logistics support.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class ResupplyCancelPdu extends LogisticsFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/ResupplyOfferPdu.java b/src-generated/edu/nps/moves/dis/ResupplyOfferPdu.java
index fd6efc82f560a7b852751741a29ed58dac06f2f2..22d2b004564497cdae6af0b5596a2de54f891ac7 100644
--- a/src-generated/edu/nps/moves/dis/ResupplyOfferPdu.java
+++ b/src-generated/edu/nps/moves/dis/ResupplyOfferPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Information used to communicate the offer of supplies by a supplying entity to a receiving entity. Section 7.4.3
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.5.6 Communicate the offer of supplies by a supplying entity to a receiving entity.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class ResupplyOfferPdu extends LogisticsFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/ResupplyReceivedPdu.java b/src-generated/edu/nps/moves/dis/ResupplyReceivedPdu.java
index 9ef7e4b548a1e898ea554f5e8d5f7637d7d37fec..fbb9910e2dc10dcb4e1d0a75ab363bb75447596e 100644
--- a/src-generated/edu/nps/moves/dis/ResupplyReceivedPdu.java
+++ b/src-generated/edu/nps/moves/dis/ResupplyReceivedPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 7.4.4. Receipt of supplies is communicated by issuing Resupply Received PDU.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.5.7 Used to acknowledge the receipt of supplies by the receiving entity.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class ResupplyReceivedPdu extends LogisticsFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/SecondaryOperationalData.java b/src-generated/edu/nps/moves/dis/SecondaryOperationalData.java
index 23ec89630d8dcfca94b9be165b5853750757b6e1..4f611b65e0711eea2500c2e805ae854ffce8c7a3 100644
--- a/src-generated/edu/nps/moves/dis/SecondaryOperationalData.java
+++ b/src-generated/edu/nps/moves/dis/SecondaryOperationalData.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Additional operational data for an IFF emitting system and the number of IFF Fundamental Parameter Data records Section 6.2.76.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class SecondaryOperationalData extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/SeesPdu.java b/src-generated/edu/nps/moves/dis/SeesPdu.java
index 1a76586a78158aa7229ab78cc7d6fd5c91c071e5..f0bb4b2970ee196706a8822c52482855d007860b 100644
--- a/src-generated/edu/nps/moves/dis/SeesPdu.java
+++ b/src-generated/edu/nps/moves/dis/SeesPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- *  SEES PDU, supplemental emissions entity state information. Section 7.6.6
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 7.6.6 Certain supplemental information on an entity’s physical state and emissions. See 5.7.7
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class SeesPdu extends DistributedEmissionsFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/Sensor.java b/src-generated/edu/nps/moves/dis/Sensor.java
index d3835b6eaa78d692e85513aff749e3554b9c4dea..c1d625ced3a28c5168b3a5e92f4b24cfd9d11b21 100644
--- a/src-generated/edu/nps/moves/dis/Sensor.java
+++ b/src-generated/edu/nps/moves/dis/Sensor.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * An entity's sensor information.  Section 6.2.77.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class Sensor extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/SeparationVP.java b/src-generated/edu/nps/moves/dis/SeparationVP.java
index a96c964920c94ebf125ec0a9c49f04f682d42878..ba30ab45f468258014ae4fda3f8e7458d8bd4c90 100644
--- a/src-generated/edu/nps/moves/dis/SeparationVP.java
+++ b/src-generated/edu/nps/moves/dis/SeparationVP.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Physical separation of an entity from another entity.  Section 6.2.94.6
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class SeparationVP extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/ServiceRequestPdu.java b/src-generated/edu/nps/moves/dis/ServiceRequestPdu.java
index dfdc16928af4e94d986610aad0bf0004e6ab5dbb..74812b5f3385a4ad82a74c7c4e219a6997ab2d2d 100644
--- a/src-generated/edu/nps/moves/dis/ServiceRequestPdu.java
+++ b/src-generated/edu/nps/moves/dis/ServiceRequestPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Service Request PDU shall be used to communicate information associated with                            one entity requesting a service from another). Section 7.4.2
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.5.5 Communicate information associated with one entity requesting a service from another.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class ServiceRequestPdu extends LogisticsFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/SetDataPdu.java b/src-generated/edu/nps/moves/dis/SetDataPdu.java
index bc204d5a9a5cf8bda93faba48b9ca49a50e2fcc6..5d7bb190dc0e67e63064f183596e24add8d2e947 100644
--- a/src-generated/edu/nps/moves/dis/SetDataPdu.java
+++ b/src-generated/edu/nps/moves/dis/SetDataPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 7.5.10. Change state information with the data contained in this.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * Section 7.5.10. Initializing or changing internal state information shall be communicated using a Set Data PDU. See 5.6.5.10
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class SetDataPdu extends SimulationManagementFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/SetDataReliablePdu.java b/src-generated/edu/nps/moves/dis/SetDataReliablePdu.java
index 2519ab8d776c16afe662d00ac77b655e29bb2e4b..3fff99a1859b9a14b17ee9ed6e96ba895ce031f6 100644
--- a/src-generated/edu/nps/moves/dis/SetDataReliablePdu.java
+++ b/src-generated/edu/nps/moves/dis/SetDataReliablePdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 5.3.12.9: initializing or chaning internal state information, reliable.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.12.4.10 Serves the same function as the Set Data PDU but with the addition of reliability service levels.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class SetDataReliablePdu extends SimulationManagementWithReliabilityFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/SetRecordReliablePdu.java b/src-generated/edu/nps/moves/dis/SetRecordReliablePdu.java
index 84b3c367cd78503f66f23d25eaffb128fd6b0acb..f77a9ffa04ae1dfde31593b4ee4f44f7b5c2ff4b 100644
--- a/src-generated/edu/nps/moves/dis/SetRecordReliablePdu.java
+++ b/src-generated/edu/nps/moves/dis/SetRecordReliablePdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 5.3.12.14: Initializing or changing internal parameter info.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.12.4.15 Used to set or change certain parameter values. These parameter values are contained within a record format as compared to the datum format used in the Set Data-R PDU.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class SetRecordReliablePdu extends SimulationManagementWithReliabilityFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/ShaftRPM.java b/src-generated/edu/nps/moves/dis/ShaftRPM.java
index 8d26f135c16acc416c0828adef139920e5c00a97..e7b341d2e6bac3819f5e120663c772dd2018758c 100644
--- a/src-generated/edu/nps/moves/dis/ShaftRPM.java
+++ b/src-generated/edu/nps/moves/dis/ShaftRPM.java
@@ -1,11 +1,16 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class ShaftRPM extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/SignalPdu.java b/src-generated/edu/nps/moves/dis/SignalPdu.java
index ca4b80e2ea1ec568f7c71c82bae2ff09e1287524..af6fa06a70d1b0c1ff0c82265655749eb450c100 100644
--- a/src-generated/edu/nps/moves/dis/SignalPdu.java
+++ b/src-generated/edu/nps/moves/dis/SignalPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- *  Detailed information about a radio transmitter. This PDU requires manually written code to complete. The encodingScheme field can be used in multiple        ways, which requires hand-written code to finish. Section 7.7.3. UNFINISHED
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.8.4 Conveys the audio or digital data carried by the simulated radio or intercom transmission.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class SignalPdu extends RadioCommunicationsFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/SilentEntitySystem.java b/src-generated/edu/nps/moves/dis/SilentEntitySystem.java
index 5a1c680c646c6b05e8b6dd8417ab2752972cd0d6..3cf02f7fc73e77f32dabda4822eee41478d9d1f6 100644
--- a/src-generated/edu/nps/moves/dis/SilentEntitySystem.java
+++ b/src-generated/edu/nps/moves/dis/SilentEntitySystem.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * information abou an enitity not producing espdus. Section 6.2.79
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class SilentEntitySystem extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/SimulationAddress.java b/src-generated/edu/nps/moves/dis/SimulationAddress.java
index cc65f65156b1902d36ff1a908d4bf6af44565a8b..57e1a92041cc3fff5db9614f0dddea5056382424 100644
--- a/src-generated/edu/nps/moves/dis/SimulationAddress.java
+++ b/src-generated/edu/nps/moves/dis/SimulationAddress.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * A Simulation Address record shall consist of the Site Identification number and the Application Identification number. Section 6.2.79 
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class SimulationAddress extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/SimulationIdentifier.java b/src-generated/edu/nps/moves/dis/SimulationIdentifier.java
index 781a65d480f83a89920727d31613db1f1df73c8a..f0baa8aab68965fdbaab5fbadd79be47ede926ff 100644
--- a/src-generated/edu/nps/moves/dis/SimulationIdentifier.java
+++ b/src-generated/edu/nps/moves/dis/SimulationIdentifier.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * The unique designation of a simulation when using the 48-bit identifier format shall be specified by the Sim- ulation Identifier record. The reason that the 48-bit format is required in addition to the 32-bit simulation address format that actually identifies a specific simulation is because some 48-bit identifier fields in PDUs may contain either an Object Identifier, such as an Entity ID, or a Simulation Identifier. Section 6.2.80
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class SimulationIdentifier extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/SimulationManagementFamilyPdu.java b/src-generated/edu/nps/moves/dis/SimulationManagementFamilyPdu.java
index 7d479b34f06ce401b2f4a197412be4a2943e7f12..710f6d3dcccc6629205f64b3901a3d5713eb7b7f 100644
--- a/src-generated/edu/nps/moves/dis/SimulationManagementFamilyPdu.java
+++ b/src-generated/edu/nps/moves/dis/SimulationManagementFamilyPdu.java
@@ -1,19 +1,19 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * First part of a simulation management (SIMAN) PDU and SIMAN-Reliability (SIMAN-R) PDU. Sectionn 6.2.81
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
-public class SimulationManagementFamilyPdu extends PduBase implements Serializable
+public abstract class SimulationManagementFamilyPdu extends PduBase implements Serializable
 {
    /** IDs the simulation or entity, either a simulation or an entity. Either 6.2.80 or 6.2.28 */
    protected SimulationIdentifier  originatingID = new SimulationIdentifier(); 
diff --git a/src-generated/edu/nps/moves/dis/SimulationManagementWithReliabilityFamilyPdu.java b/src-generated/edu/nps/moves/dis/SimulationManagementWithReliabilityFamilyPdu.java
index bfd59fa30d67805e6e087b70fb9cfff3834d45f0..2d138523a9b50746b2217a6da18067e5bd83d858 100644
--- a/src-generated/edu/nps/moves/dis/SimulationManagementWithReliabilityFamilyPdu.java
+++ b/src-generated/edu/nps/moves/dis/SimulationManagementWithReliabilityFamilyPdu.java
@@ -1,13 +1,18 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
-public class SimulationManagementWithReliabilityFamilyPdu extends PduBase implements Serializable
+public abstract class SimulationManagementWithReliabilityFamilyPdu extends PduBase implements Serializable
 {
    /** IDs the simulation or entity, either a simulation or an entity. Either 6.2.80 or 6.2.28 */
    protected SimulationIdentifier  originatingID = new SimulationIdentifier(); 
diff --git a/src-generated/edu/nps/moves/dis/StandardVariableRecord.java b/src-generated/edu/nps/moves/dis/StandardVariableRecord.java
index 05c2dc9d29f99d44c52bf2b16887372721313e11..12de9e5f71fea8d58308099fe073238ec9b2fad4 100644
--- a/src-generated/edu/nps/moves/dis/StandardVariableRecord.java
+++ b/src-generated/edu/nps/moves/dis/StandardVariableRecord.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Section 6.2.83
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class StandardVariableRecord extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/StandardVariableSpecification.java b/src-generated/edu/nps/moves/dis/StandardVariableSpecification.java
index e07d9e75d4969e80113e32726f8d06e60c035940..13873f821d13616bd2216d69178e0111def67149 100644
--- a/src-generated/edu/nps/moves/dis/StandardVariableSpecification.java
+++ b/src-generated/edu/nps/moves/dis/StandardVariableSpecification.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Does not work, and causes failure in anything it is embedded in. Section 6.2.83
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class StandardVariableSpecification extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/StartResumePdu.java b/src-generated/edu/nps/moves/dis/StartResumePdu.java
index 13b8390b3379187ae8dc8ebbff6102a02151f78a..e71032297e62d932035c6e4180cadf162a599956 100644
--- a/src-generated/edu/nps/moves/dis/StartResumePdu.java
+++ b/src-generated/edu/nps/moves/dis/StartResumePdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 7.5.4. Start or resume an exercise.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * Section 7.5.4. Start or resume an entity or exercise. See 5.6.5.4.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class StartResumePdu extends SimulationManagementFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/StartResumeReliablePdu.java b/src-generated/edu/nps/moves/dis/StartResumeReliablePdu.java
index e6b90b28e3a71803cb5411e1a5bb066f82695b78..dc72949778630463901cc3b3484285c49b6bd54d 100644
--- a/src-generated/edu/nps/moves/dis/StartResumeReliablePdu.java
+++ b/src-generated/edu/nps/moves/dis/StartResumeReliablePdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 5.3.12.3: Start resume simulation, relaible.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.12.4.4 Serves the same function as the Start/Resume PDU but with the addition of reliability service levels
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class StartResumeReliablePdu extends SimulationManagementWithReliabilityFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/StopFreezePdu.java b/src-generated/edu/nps/moves/dis/StopFreezePdu.java
index 42e78a9d51aad075c5866718e41d4a8990a2f476..ecda4e61ae7045889461ccf5283e2e8f0616b48f 100644
--- a/src-generated/edu/nps/moves/dis/StopFreezePdu.java
+++ b/src-generated/edu/nps/moves/dis/StopFreezePdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 7.5.5. Stop or freeze an enity (or exercise).
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * Section 7.5.5. Stop or freeze an enity or exercise. See 5.6.5.5
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class StopFreezePdu extends SimulationManagementFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/StopFreezeReliablePdu.java b/src-generated/edu/nps/moves/dis/StopFreezeReliablePdu.java
index 6e47a1bce5e42e1bcaaf2855990f1085b7f3c4bf..de1fcc26937b459ff0a0811c5592255b7562dc8b 100644
--- a/src-generated/edu/nps/moves/dis/StopFreezeReliablePdu.java
+++ b/src-generated/edu/nps/moves/dis/StopFreezeReliablePdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Section 5.3.12.4: Stop freeze simulation, relaible.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.12.4.5 Serves the same function as the Stop/Freeze PDU (see 5.6.5.5.1) but with the addition of reliability service levels.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class StopFreezeReliablePdu extends SimulationManagementWithReliabilityFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/StorageFuel.java b/src-generated/edu/nps/moves/dis/StorageFuel.java
index 7ca3ef72168e237d6575e69946082b1717a13213..15dc9ce5f2f98adb65e96a358386e203f4bd9079 100644
--- a/src-generated/edu/nps/moves/dis/StorageFuel.java
+++ b/src-generated/edu/nps/moves/dis/StorageFuel.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Information about an entity's engine fuel. Section 6.2.84.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class StorageFuel extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/StorageFuelReload.java b/src-generated/edu/nps/moves/dis/StorageFuelReload.java
index 2f47fd94cb3bf8f1c6ff7f26dd74448277052abf..472ea8b69536eef4aa48c33b5850583f425a8c9c 100644
--- a/src-generated/edu/nps/moves/dis/StorageFuelReload.java
+++ b/src-generated/edu/nps/moves/dis/StorageFuelReload.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * For each type or location of Storage Fuel, this record shall specify the type, location, fuel measure- ment units, reload quantity and maximum quantity for storage fuel either for the whole entity or a specific storage fuel location (tank). Section 6.2.85.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class StorageFuelReload extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/SupplyQuantity.java b/src-generated/edu/nps/moves/dis/SupplyQuantity.java
index fea587eaa66356a4d6c914b77f1695a2592a6244..bb132cc11a968af33e6266009e251e2f48076791 100644
--- a/src-generated/edu/nps/moves/dis/SupplyQuantity.java
+++ b/src-generated/edu/nps/moves/dis/SupplyQuantity.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  *  A supply, and the amount of that supply. Section 6.2.86
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class SupplyQuantity extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/SyntheticEnvironmentFamilyPdu.java b/src-generated/edu/nps/moves/dis/SyntheticEnvironmentFamilyPdu.java
index b6d7dd402ca7ff4c74c9bd82fd5915a9a108a9db..4796a18256efced6b78b902cb55fb58b3d51561c 100644
--- a/src-generated/edu/nps/moves/dis/SyntheticEnvironmentFamilyPdu.java
+++ b/src-generated/edu/nps/moves/dis/SyntheticEnvironmentFamilyPdu.java
@@ -1,19 +1,19 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Section 5.3.11: Abstract superclass for synthetic environment PDUs
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
-public class SyntheticEnvironmentFamilyPdu extends PduBase implements Serializable
+public abstract class SyntheticEnvironmentFamilyPdu extends PduBase implements Serializable
 {
 
 /** Constructor */
diff --git a/src-generated/edu/nps/moves/dis/SystemIdentifier.java b/src-generated/edu/nps/moves/dis/SystemIdentifier.java
index 34fcf811aaea23a3a7543c048f9b0589bcf094dd..9627f2fa5bed38e42decdb5b20c0c1e947f7d5d3 100644
--- a/src-generated/edu/nps/moves/dis/SystemIdentifier.java
+++ b/src-generated/edu/nps/moves/dis/SystemIdentifier.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * The ID of the IFF emitting system. Section 6.2.87
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class SystemIdentifier extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/TotalRecordSets.java b/src-generated/edu/nps/moves/dis/TotalRecordSets.java
index c22a2b45c3942661dbbeb7d959cfabb20fe71bf2..afa7c99b2dc47b257da22cbe6aea01bb38ca69ac 100644
--- a/src-generated/edu/nps/moves/dis/TotalRecordSets.java
+++ b/src-generated/edu/nps/moves/dis/TotalRecordSets.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Total number of record sets contained in a logical set of one or more PDUs. Used to transfer ownership, etc Section 6.2.88
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class TotalRecordSets extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/TrackJamData.java b/src-generated/edu/nps/moves/dis/TrackJamData.java
index c9c0bae398e1aea3f80bc6757f6248f58cff7815..9b60077e2fedb8b52f421780b5c7382e9291b3eb 100644
--- a/src-generated/edu/nps/moves/dis/TrackJamData.java
+++ b/src-generated/edu/nps/moves/dis/TrackJamData.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  *  Track-Jam data Section 6.2.89
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class TrackJamData extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/TransferOwnershipPdu.java b/src-generated/edu/nps/moves/dis/TransferOwnershipPdu.java
index 49b4484dd1faf544ed37fd1781028c7d12a581ae..fb2c8cbaeb0016066511e03a66a9e16ee25fc0fc 100644
--- a/src-generated/edu/nps/moves/dis/TransferOwnershipPdu.java
+++ b/src-generated/edu/nps/moves/dis/TransferOwnershipPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  *  Information initiating the dyanic allocation and control of simulation entities between two simulation applications.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class TransferOwnershipPdu extends EntityManagementFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/TransmitterPdu.java b/src-generated/edu/nps/moves/dis/TransmitterPdu.java
index 9934bc008850705173e3db485a4c237839ac40c6..c722b9ce7c2f0d66c10f6acab88dee4a05dc7a26 100644
--- a/src-generated/edu/nps/moves/dis/TransmitterPdu.java
+++ b/src-generated/edu/nps/moves/dis/TransmitterPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * Detailed information about a radio transmitter. This PDU requires manually written code to complete, since the modulation parameters are of variable length. Section 7.7.2 UNFINISHED
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 5.8.3 Communicates the state of a particular radio transmitter or simple intercom.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class TransmitterPdu extends RadioCommunicationsFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/TspiPdu.java b/src-generated/edu/nps/moves/dis/TspiPdu.java
index 696526f2fee615a6b113688324cbd36e6a412d20..58b17935a6a542b2440f1972e621a92f9856d68b 100644
--- a/src-generated/edu/nps/moves/dis/TspiPdu.java
+++ b/src-generated/edu/nps/moves/dis/TspiPdu.java
@@ -1,11 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
+ * 9.4.2 The Time Space Position Information (TSPI) PDU shall communicate information about the LE’s state vector.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class TspiPdu extends LiveEntityFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/UABeam.java b/src-generated/edu/nps/moves/dis/UABeam.java
index 7ada98ff4b11f6f22fe23c1f38e64369d1d45518..8d4f84ca04f1917c5e1a55ba9e4742ea18cc7cf6 100644
--- a/src-generated/edu/nps/moves/dis/UABeam.java
+++ b/src-generated/edu/nps/moves/dis/UABeam.java
@@ -1,11 +1,16 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class UABeam extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/UAEmitter.java b/src-generated/edu/nps/moves/dis/UAEmitter.java
index 9987ab3df79022fa27129e224c46e27d95739a31..03983741b25a4d83fdd41779021ffe85d568fdeb 100644
--- a/src-generated/edu/nps/moves/dis/UAEmitter.java
+++ b/src-generated/edu/nps/moves/dis/UAEmitter.java
@@ -1,11 +1,16 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class UAEmitter extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/UAFundamentalParameter.java b/src-generated/edu/nps/moves/dis/UAFundamentalParameter.java
index a8b72319fb19643f1da9da6ab1a8f7aa1a119c65..11f8ad88bcbbe883888cfb197fde24a2e707f5c2 100644
--- a/src-generated/edu/nps/moves/dis/UAFundamentalParameter.java
+++ b/src-generated/edu/nps/moves/dis/UAFundamentalParameter.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Regeneration parameters for active emission systems that are variable throughout a scenario. Section 6.2.91
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class UAFundamentalParameter extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/UnattachedIdentifier.java b/src-generated/edu/nps/moves/dis/UnattachedIdentifier.java
index b87abf4972ca8d125ca237bd8a98512a822acefc..e9e13a62199fd6d72b9341031aa144cba6c431b4 100644
--- a/src-generated/edu/nps/moves/dis/UnattachedIdentifier.java
+++ b/src-generated/edu/nps/moves/dis/UnattachedIdentifier.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * The unique designation of one or more unattached radios in an event or exercise Section 6.2.91
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class UnattachedIdentifier extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/UnderwaterAcousticPdu.java b/src-generated/edu/nps/moves/dis/UnderwaterAcousticPdu.java
index 57457935a153c1644b1b13a59e8322effcc0b278..545499fc3dfef16179a31e27217fde2eb0978631 100644
--- a/src-generated/edu/nps/moves/dis/UnderwaterAcousticPdu.java
+++ b/src-generated/edu/nps/moves/dis/UnderwaterAcousticPdu.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- *  Information about underwater acoustic emmissions. This requires manual cleanup.  The beam data records should ALL be a the finish, rather than attached to each emitter system. Section 7.6.4. UNFINISHED
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * 7.6.4 Information about underwater acoustic emmissions. See 5.7.5.
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class UnderwaterAcousticPdu extends DistributedEmissionsFamilyPdu implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/UnsignedDISInteger.java b/src-generated/edu/nps/moves/dis/UnsignedDISInteger.java
index 0662ceb81d6fe80b95f7838b880bb1f5cece8837..2ddea997fcb1f3c46f7d056ada4730a639cc3bef 100644
--- a/src-generated/edu/nps/moves/dis/UnsignedDISInteger.java
+++ b/src-generated/edu/nps/moves/dis/UnsignedDISInteger.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * container class not in specification
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class UnsignedDISInteger extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/VariableDatum.java b/src-generated/edu/nps/moves/dis/VariableDatum.java
index 8b1951394171835c9b7a8ba4f97463d53658fea1..ba494fb457dc8b7b94cabdafe046e1dd9991ae4d 100644
--- a/src-generated/edu/nps/moves/dis/VariableDatum.java
+++ b/src-generated/edu/nps/moves/dis/VariableDatum.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * the variable datum type, the datum length, and the value for that variable datum type. Section 6.2.93
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class VariableDatum extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/VariableParameter.java b/src-generated/edu/nps/moves/dis/VariableParameter.java
index 8ce00a6b7925bd541485527a09f8451d1b55b407..d9a8bd05d006e05c0012f7c8c087cfc001518d68 100644
--- a/src-generated/edu/nps/moves/dis/VariableParameter.java
+++ b/src-generated/edu/nps/moves/dis/VariableParameter.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * used in DetonationPdu, ArticulatedPartsPdu among others
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class VariableParameter extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/VariableTransmitterParameters.java b/src-generated/edu/nps/moves/dis/VariableTransmitterParameters.java
index cde8ff95eea0db29ffc88f4656c98126a06c235f..aff07363041e0e7c9740597fa699f2785206acc5 100644
--- a/src-generated/edu/nps/moves/dis/VariableTransmitterParameters.java
+++ b/src-generated/edu/nps/moves/dis/VariableTransmitterParameters.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Relates to radios. Section 6.2.95
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class VariableTransmitterParameters extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/Vector2Float.java b/src-generated/edu/nps/moves/dis/Vector2Float.java
index 82a5a15059bcda91fb6727c1db5b5463596c92fd..36429c27ae605b16f94a00e6161e64e4269ee66b 100644
--- a/src-generated/edu/nps/moves/dis/Vector2Float.java
+++ b/src-generated/edu/nps/moves/dis/Vector2Float.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Two floating point values, x, y
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class Vector2Float extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/Vector3Double.java b/src-generated/edu/nps/moves/dis/Vector3Double.java
index 562ef848a24f274e990dd44fca3ef72e067cbd10..80d4ef47e7a70c41be5f90ff1191893f06e91614 100644
--- a/src-generated/edu/nps/moves/dis/Vector3Double.java
+++ b/src-generated/edu/nps/moves/dis/Vector3Double.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Three double precision floating point values, x, y, and z. Used for world coordinates Section 6.2.97.
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class Vector3Double extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/Vector3Float.java b/src-generated/edu/nps/moves/dis/Vector3Float.java
index 6ff82cc9921530f7e701f06854cf92736456d07d..7589bf2193a340204ada0980be8b439c794ccc8a 100644
--- a/src-generated/edu/nps/moves/dis/Vector3Float.java
+++ b/src-generated/edu/nps/moves/dis/Vector3Float.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Three floating point values, x, y, and z. Section 6.2.95
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class Vector3Float extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/VectoringNozzleSystem.java b/src-generated/edu/nps/moves/dis/VectoringNozzleSystem.java
index 88f233b230edf9de667115d99cab8ad73ddc93a1..4c3139e05980d4dbbc08989b88557ce603bc1dc8 100644
--- a/src-generated/edu/nps/moves/dis/VectoringNozzleSystem.java
+++ b/src-generated/edu/nps/moves/dis/VectoringNozzleSystem.java
@@ -1,17 +1,17 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
  * Operational data for describing the vectoring nozzle systems Section 6.2.96
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
 public class VectoringNozzleSystem extends Object implements Serializable
 {
diff --git a/src-generated/edu/nps/moves/dis/WarfareFamilyPdu.java b/src-generated/edu/nps/moves/dis/WarfareFamilyPdu.java
index 3591ae4ad131ff5fa0eab69e402c356c1e9208f5..5e74db6291da2e731f87202cef6c87e77dfd2673 100644
--- a/src-generated/edu/nps/moves/dis/WarfareFamilyPdu.java
+++ b/src-generated/edu/nps/moves/dis/WarfareFamilyPdu.java
@@ -1,19 +1,19 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.util.*;
 import java.io.*;
 import edu.nps.moves.dis.enumerations.*;
 
-
 /**
- * abstract superclass for fire and detonation pdus that have shared information. Section 7.3
- *
- * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
- * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
- *
- * @author DMcG
+ * Abstract superclass for fire and detonation pdus that have shared information. Section 7.3
+ * IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols
  */
-public class WarfareFamilyPdu extends PduBase implements Serializable
+public abstract class WarfareFamilyPdu extends PduBase implements Serializable
 {
 
 /** Constructor */
diff --git a/src/edu/nps/moves/dis/Align.java b/src/edu/nps/moves/dis/Align.java
index 1d1eebae64d123c284c8cb93499bebd7d382619a..6641146759aa87f5b4a850efe1feea7c36fc57a4 100644
--- a/src/edu/nps/moves/dis/Align.java
+++ b/src/edu/nps/moves/dis/Align.java
@@ -1,3 +1,7 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
 
 package edu.nps.moves.dis;
 
@@ -16,10 +20,6 @@ import java.util.Arrays;
  */
 public class Align
 {
-  /**
-   * @param buff ByteBuffer to write data until 2-byte boundary
-   * @return number of padding bytes written
-   */
   static public int to16bits(ByteBuffer buff)
   {
       int pad = (2 - buff.position() % 2) % 2;
@@ -27,10 +27,6 @@ public class Align
       return pad;
   }
   
-  /**
-   * @param dos DataOutputStream to write data until 2-byte boundary
-   * @return number of padding bytes written
-   */
   static public int to16bits(DataOutputStream dos)
   {
       int pad = (2 - dos.size() % 2) % 2;
@@ -38,10 +34,6 @@ public class Align
       return pad;
   }
   
-  /**
-   * @param buff ByteBuffer to write data until 4-byte boundary
-   * @return number of padding bytes written
-   */
   static public int to32bits(ByteBuffer buff)
   {
       int pad = (4 - buff.position() % 4) % 4;
@@ -49,10 +41,6 @@ public class Align
       return pad;
   }
   
-  /**
-   * @param dos DataOutputStream to write data until 4-byte boundary
-   * @return number of padding bytes written
-   */
   static public int to32bits(DataOutputStream dos)
   {
       int pad = (4 - dos.size() % 4) % 4;
@@ -60,10 +48,6 @@ public class Align
       return pad;
   }
   
-  /**
-   * @param buff ByteBuffer to write data until 8-byte boundary
-   * @return number of padding bytes written
-   */
   static public int to64bits(ByteBuffer buff)
   {
       int pad = (8 - buff.position() % 8) % 8;
@@ -71,10 +55,6 @@ public class Align
       return pad;
   }
   
-  /**
-   * @param dos DataOutputStream to write data until 8-byte boundary
-   * @return number of padding bytes written
-   */
   static public int to64bits(DataOutputStream dos)
   {
       int pad = (8 - dos.size() % 8) % 8;
@@ -83,10 +63,6 @@ public class Align
   }
   
   /********* Unmarshaling **************/
-  /**
-   * @param buff ByteBuffer to read data until 2-byte boundary
-   * @return number of padding bytes read
-   */
   static public int from16bits(ByteBuffer buff)
   {
       int pad = (2 - buff.position() % 2) % 2;
@@ -94,11 +70,6 @@ public class Align
       return pad;
   }
   
-  /**
-   * @param position input position in DataInputStream
-   * @param dis DataInputStream to read bytes until 2-byte boundary
-   * @return number of padding bytes read
-   */
   static public int from16bits(int position, DataInputStream dis)
   {
       int pad = (2 - position % 2) % 2;
@@ -106,10 +77,6 @@ public class Align
       return pad;
   }
   
-  /**
-   * @param buff ByteBuffer to read bytes until 4-byte boundary
-   * @return number of padding bytes read
-   */
   static public int from32bits(ByteBuffer buff)
   {
       int pad = (4 - buff.position() % 4) % 4;
@@ -117,11 +84,6 @@ public class Align
       return pad;
   }
   
-  /**
-   * @param position input position in DataInputStream
-   * @param dis DataInputStream to read bytes until 2-byte boundary
-   * @return number of padding bytes read
-   */
   static public int from32bits(int position, DataInputStream dis)
   {
       int pad = (4 - position % 4) % 4;
@@ -129,22 +91,13 @@ public class Align
       return pad;
   }
   
-  /**
-   * @param buff ByteBuffer to read bytes until 8-byte boundary
-   * @return number of padding bytes read
-   */
-   static public int from64bits(ByteBuffer buff)
+  static public int from64bits(ByteBuffer buff)
   {
       int pad = (8 - buff.position() % 8) % 8;
       Arrays.stream(new int[pad]).forEach(x->buff.get());
       return pad;
   }
   
-  /**
-   * @param position input position in DataInputStream
-   * @param dis DataInputStream to read bytes until 8-byte boundary
-   * @return number of padding bytes read
-   */
   static public int from64bits(int position, DataInputStream dis)
   {
       int pad = (8 - position % 8) % 8;
diff --git a/src/edu/nps/moves/dis/Category.java b/src/edu/nps/moves/dis/Category.java
index 7bc43de031e9b85e1fb20c08b87a0eddf34a3934..5677a2f859f24a82dcd812916553e44696ea6eca 100644
--- a/src/edu/nps/moves/dis/Category.java
+++ b/src/edu/nps/moves/dis/Category.java
@@ -1,12 +1,13 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 /**
- * Domain.java created on May 7, 2019
- * MOVES Institute Naval Postgraduate School, Monterey, CA, USA www.nps.edu
- *
+ * Category.java created on May 7, 2019
  * Marker interface to polymorphize category field in Pdus
- * @author Mike Bailey, jmbailey@nps.edu
- * @version $Id$
  */
 public interface Category
 {
diff --git a/src/edu/nps/moves/dis/DisBitSet.java b/src/edu/nps/moves/dis/DisBitSet.java
index d2c8754944cf42726b0731e8032ba5bb584024f7..ad7ea3a925e2500d9ed2b48763ff4742f6ea154f 100644
--- a/src/edu/nps/moves/dis/DisBitSet.java
+++ b/src/edu/nps/moves/dis/DisBitSet.java
@@ -1,3 +1,8 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.io.DataInputStream;
diff --git a/src/edu/nps/moves/dis/DisTime.java b/src/edu/nps/moves/dis/DisTime.java
index 3c4db4972a2b3c8b6a2b235d413c0297324aaeeb..5a8a72c4ece25393fe162b6e54711b38b1e601f9 100644
--- a/src/edu/nps/moves/dis/DisTime.java
+++ b/src/edu/nps/moves/dis/DisTime.java
@@ -1,3 +1,7 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
 
 package edu.nps.moves.dis;
 
diff --git a/src/edu/nps/moves/dis/EntityCapabilities.java b/src/edu/nps/moves/dis/EntityCapabilities.java
index f26418a1cd38d1fe5ea45f075700892615028136..b02372308c8c68d66a27003ed0ed3f2dc6ff6597 100644
--- a/src/edu/nps/moves/dis/EntityCapabilities.java
+++ b/src/edu/nps/moves/dis/EntityCapabilities.java
@@ -1,12 +1,13 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 /**
  * EntityCapabilities.java created on May 7, 2019
- * MOVES Institute Naval Postgraduate School, Monterey, CA, USA www.nps.edu
- *
  * Marker interface to polymorphize Entity Capabilities (uid 55) 
- * @author Mike Bailey, jmbailey@nps.edu
- * @version $Id$
  */
 public interface EntityCapabilities extends Marshaller
 {}
diff --git a/src/edu/nps/moves/dis/EnumNotFoundException.java b/src/edu/nps/moves/dis/EnumNotFoundException.java
index f4db5c91e79de55560ae1e62753e3a360e125aaa..69f54cac051b2d879da883661ce74b3812976a5e 100644
--- a/src/edu/nps/moves/dis/EnumNotFoundException.java
+++ b/src/edu/nps/moves/dis/EnumNotFoundException.java
@@ -1,17 +1,12 @@
-/*
- * 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.
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
  */
 
 package edu.nps.moves.dis;
 
 /**
  * EnumNotFoundException.java created on Apr 15, 2019
- * MOVES Institute Naval Postgraduate School, Monterey, CA, USA www.nps.edu
- *
- * @author Mike Bailey, jmbailey@nps.edu
- * @version $Id$
  */
 public class EnumNotFoundException extends Exception
 {
diff --git a/src/edu/nps/moves/dis/Extra.java b/src/edu/nps/moves/dis/Extra.java
index 836dcbda8c31abb93a123c1a0148125426188932..5c00c1e516f3042d1729325e671e192dc6ff3823 100644
--- a/src/edu/nps/moves/dis/Extra.java
+++ b/src/edu/nps/moves/dis/Extra.java
@@ -1,12 +1,13 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 /**
- * Domain.java created on May 7, 2019
- * MOVES Institute Naval Postgraduate School, Monterey, CA, USA www.nps.edu
- *
+ * Extra.java created on May 7, 2019
  * Marker interface to polymorphize extra field in Pdus
- * @author Mike Bailey, jmbailey@nps.edu
- * @version $Id$
  */
 public interface Extra
 {
diff --git a/src/edu/nps/moves/dis/JammerCategory.java b/src/edu/nps/moves/dis/JammerCategory.java
index c3adcce7691ceb65fe58cb7242593582bb8b037e..ae7bbe49f63a266f9c22f39853dc56c1b8fcd4e1 100644
--- a/src/edu/nps/moves/dis/JammerCategory.java
+++ b/src/edu/nps/moves/dis/JammerCategory.java
@@ -1,12 +1,13 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 /**
  * JammerCategory.java created on May 7, 2019
- * MOVES Institute Naval Postgraduate School, Monterey, CA, USA www.nps.edu
- *
  * Marker interface to polymorphize category field in JammerTechnique
- * @author Mike Bailey, jmbailey@nps.edu
- * @version $Id$
  */
 public interface JammerCategory extends Marshaller
 {
diff --git a/src/edu/nps/moves/dis/JammerExtra.java b/src/edu/nps/moves/dis/JammerExtra.java
index c23d1a173219a86a2b2af0f83c4878a49f8c6144..9ea1a5f72893f653e6f1447d85a606424e680471 100644
--- a/src/edu/nps/moves/dis/JammerExtra.java
+++ b/src/edu/nps/moves/dis/JammerExtra.java
@@ -1,12 +1,13 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 /**
  * JammerExtra.java created on May 7, 2019
- * MOVES Institute Naval Postgraduate School, Monterey, CA, USA www.nps.edu
- *
  * Marker interface to polymorphize extra field in JammerTechnique
- * @author Mike Bailey, jmbailey@nps.edu
- * @version $Id$
  */
 public interface JammerExtra extends Marshaller
 {
diff --git a/src/edu/nps/moves/dis/JammerKind.java b/src/edu/nps/moves/dis/JammerKind.java
index 0649a3b451592295452ded6fa56b5e761e5fa9a3..2349296827657c2581ba21d7ade47ebc37cda225 100644
--- a/src/edu/nps/moves/dis/JammerKind.java
+++ b/src/edu/nps/moves/dis/JammerKind.java
@@ -1,12 +1,13 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 /**
  * JammerKind.java created on May 7, 2019
- * MOVES Institute Naval Postgraduate School, Monterey, CA, USA www.nps.edu
- *
  * Marker interface to polymorphize kind field in JammerTechnique
- * @author Mike Bailey, jmbailey@nps.edu
- * @version $Id$
  */
 public interface JammerKind extends Marshaller
 {
diff --git a/src/edu/nps/moves/dis/JammerSpecific.java b/src/edu/nps/moves/dis/JammerSpecific.java
index 53d041c33f445f32beaee6bad5fd6120a416c269..8b1bf3bdba1ab2924097d926bc7104c2b47aebde 100644
--- a/src/edu/nps/moves/dis/JammerSpecific.java
+++ b/src/edu/nps/moves/dis/JammerSpecific.java
@@ -1,12 +1,13 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 /**
  * JammerSpecific.java created on May 7, 2019
- * MOVES Institute Naval Postgraduate School, Monterey, CA, USA www.nps.edu
- *
  * Marker interface to polymorphize specific field in JammerTechnique
- * @author Mike Bailey, jmbailey@nps.edu
- * @version $Id$
  */
 public interface JammerSpecific extends Marshaller
 {
diff --git a/src/edu/nps/moves/dis/JammerSubCategory.java b/src/edu/nps/moves/dis/JammerSubCategory.java
index 87e8fc49bbf37f15d68d64326aaf0f30ad4d6af5..a3d0c2ab22c31945c660f5ed4a77c8ca8a1a0813 100644
--- a/src/edu/nps/moves/dis/JammerSubCategory.java
+++ b/src/edu/nps/moves/dis/JammerSubCategory.java
@@ -1,12 +1,13 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 /**
  * JammerSubCategory.java created on May 7, 2019
- * MOVES Institute Naval Postgraduate School, Monterey, CA, USA www.nps.edu
- *
  * Marker interface to polymorphize subcategory field in JammerTechnique
- * @author Mike Bailey, jmbailey@nps.edu
- * @version $Id$
  */
 public interface JammerSubCategory extends Marshaller
 {
diff --git a/src/edu/nps/moves/dis/Marshaller.java b/src/edu/nps/moves/dis/Marshaller.java
index 1c6963ace0acf9a476fb60ffd5630714b6172953..7455a6fb6d802621d2d23486bce13b970309cfa5 100644
--- a/src/edu/nps/moves/dis/Marshaller.java
+++ b/src/edu/nps/moves/dis/Marshaller.java
@@ -1,3 +1,8 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.io.DataInputStream;
@@ -6,44 +11,25 @@ import java.nio.ByteBuffer;
 
 /**
  * Marshaller.java created on Apr 22, 2019 MOVES Institute Naval Postgraduate School, Monterey, CA, USA www.nps.edu
- *
- * @author Mike Bailey, jmbailey@nps.edu
- * @version $Id$
  */
 public interface Marshaller
 {
-    /**
-     * @return the size in bytes of the serialized object
-     */
     public int getMarshalledSize();
     
-    /**
-     * Serializes an object into a DataOutputStream.
-     * @param dos the DataOutputStream to write
-     * @see java.io.DataOutputStream
-     */
     public void marshal(DataOutputStream dos);
-    
-    /**
-     * Unserializes an object from a DataInputStream
-     * @param dis the DataInputStream to read
-     * @see java.io.DataInputStream
-     * @return number of bytes unmarshalled
-     */
     public int unmarshal(DataInputStream dis);
 
     /**
-     * Serializes an object into a ByteBuffer.
-     * @param buff The ByteBuffer at the position to begin writing
+     * Packs a Pdu into the ByteBuffer.
      * @see java.nio.ByteBuffer
+     * @param buff The ByteBuffer at the position to begin writing
      */
     public void marshal(ByteBuffer buff);
     
     /**
-     * Unserializes an object from a ByteBuffer
-     * @param buff The ByteBuffer at the position to begin reading
+     * Unpacks a Pdu from the underlying data.
      * @see java.nio.ByteBuffer
-     * @return unmarshalled size
+     * @param buff The ByteBuffer at the position to begin reading
      */
     public int unmarshal(ByteBuffer buff);
 }
diff --git a/src/edu/nps/moves/dis/PduStatus.java b/src/edu/nps/moves/dis/PduStatus.java
index eb44b47d8faac9166a41caf5679aa8c5684eda30..037988c62b9e4c8b0149dffa96297563384f1ae6 100644
--- a/src/edu/nps/moves/dis/PduStatus.java
+++ b/src/edu/nps/moves/dis/PduStatus.java
@@ -1,3 +1,8 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis;
 
 import java.io.DataInputStream;
diff --git a/src/edu/nps/moves/dis/Specific.java b/src/edu/nps/moves/dis/Specific.java
index ddc4560d3c496a7871411e77f3186c4d778edd00..77f53586b6884199df4fe2ddca9d283c7bcee0d5 100644
--- a/src/edu/nps/moves/dis/Specific.java
+++ b/src/edu/nps/moves/dis/Specific.java
@@ -1,13 +1,10 @@
-package edu.nps.moves.dis;
-
 /**
- * Domain.java created on May 7, 2019
- * MOVES Institute Naval Postgraduate School, Monterey, CA, USA www.nps.edu
- *
- * Marker interface to polymorphize specific field in Pdus
- * @author Mike Bailey, jmbailey@nps.edu
- * @version $Id$
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
  */
+
+package edu.nps.moves.dis;
+
 public interface Specific
 {
 }
diff --git a/src/edu/nps/moves/dis/SubCategory.java b/src/edu/nps/moves/dis/SubCategory.java
index 2d520d4f5f76a7535cb18d32e1b1261e10c0854d..8470af2697fca0f11814df07ed3b09514906f9fc 100644
--- a/src/edu/nps/moves/dis/SubCategory.java
+++ b/src/edu/nps/moves/dis/SubCategory.java
@@ -1,13 +1,10 @@
-package edu.nps.moves.dis;
-
 /**
- * Domain.java created on May 7, 2019
- * MOVES Institute Naval Postgraduate School, Monterey, CA, USA www.nps.edu
- *
- * Marker interface to polymorphize subcategory field in Pdus
- * @author Mike Bailey, jmbailey@nps.edu
- * @version $Id$
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
  */
+
+package edu.nps.moves.dis;
+
 public interface SubCategory
 {
     int getValue();
diff --git a/src/edu/nps/moves/dis/examples/EntityUse.java b/src/edu/nps/moves/dis/examples/EntityUse.java
new file mode 100644
index 0000000000000000000000000000000000000000..343645d68bd16b73bf7d23829e37e3a4de5f6115
--- /dev/null
+++ b/src/edu/nps/moves/dis/examples/EntityUse.java
@@ -0,0 +1,103 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
+package edu.nps.moves.dis.examples;
+
+import edu.nps.moves.dis.EntityStatePdu;
+import edu.nps.moves.dis.EntityType;
+import edu.nps.moves.dis.util.DisNetworking;
+import edu.nps.moves.dis.util.PduFactory;
+import edu.nps.moves.dis.entities.EntityTypeFactory;
+import edu.nps.moves.dis.enumerations.DISPDUType;
+import java.io.IOException;
+
+/**
+ * The Entity Type record, described in section 6.2.30 of IEEE Std 1278.1-2012, IEEE Standard for Distributed Interactive Simulation—Application Protocols, is
+ * implemented in this library as edu.nps.moves.dis.EntityType.java. There are 8 fields in the record: kind, domain, country, category, subcategory, specific and extra.  For
+ * describing a particular entity in DIS, such as a vehicle, munition, or other, the values for each of these fields are enumerated in the SISO specification,
+ * SISO-REF-010-v25, 2018-08-29.<p>
+ * 
+ * The code generator in the open-dis7-source-generator project produces a class for each entity described in the SISO specification.  Each of these classes is
+ * a subclass of EntityType, so may be used in PDUs requiring EntityType instances.  The source for each of these classes is trivial.  As an example, here is
+ * the source to Hawk102.java, which is described in the SISO specification under uid 28585:<pre>
+ * package edu.nps.moves.dis.entities.are.platform.air;
+ *
+ * import edu.nps.moves.dis.*;
+ * import edu.nps.moves.dis.enumerations.*;
+ *
+ * //SISO-REF-010-v25, 2018-08-29
+ *
+ * //Country: United Arab Emirates (ARE)
+ * //Entity kind: Platform
+ * //Domain: AIR
+ *
+ * //Entity uid: 28578
+ *
+ * public class Hawk102 extends EntityType
+ * {
+ *   public Hawk102()
+ *   {
+ *      setCountry(Country.UNITED_ARAB_EMIRATES_ARE);
+ *      setEntityKind(EntityKind.PLATFORM);
+ *      setDomain(Domain.inst(PlatformDomain.AIR));
+ *
+ *      setCategory((byte)40); // uid 28579, Trainer
+ *      setSubCategory((byte)1); // uid 28580, BAE Systems Hawk
+ *      setSpecific((byte)3); // uid 28585, Hawk 102
+ *   }
+ * }
+ * </pre>
+ * Entity classes are found in several jars included in this project. They are typically separated into countries and/or platforms.  Assuming one or more are in the application
+ * classpath, individual entity types may be used/instantiated in either of 2 ways:<p>
+ * 
+ * 1. By name, including package.  For example, you may include the following statements in your application:<pre>
+ * import edu.nps.moves.dis.entities.are.platform.air.Hawk102;
+ * EntityType et = new Hawk102();</pre>
+ * 
+ * 2. By <b>SISO uid</b>. Included in the <u>edu.nps.moves.dis.entities</u> package is the EntityTypeFactory class.  It has a static method with a makeEntity method.  You would do:<pre>
+ * import edu.nps.moves.dis.entities.EntityFactory;
+ * EntityType et = EntityTypeFactory.makeEntity(28585);</pre>
+ * 
+ * Importantly, if you pass a legal uid to the makeEntity method, but do not have the appropriate entity jar in your classpath, the method returns null,
+ * and displays a message on System.err.<p>
+ * 
+ * The code in this class illustrates EntityType use.
+ * 
+ */
+public class EntityUse
+{
+  /**
+   * Using two methods, create and send an EntityState PDU, describing an AD44 Shenandoah destroyer tender, uid 11963.
+   * @throws IOException 
+   */
+  public static void exampleUse() throws IOException
+  {
+    PduFactory pduFactory = new PduFactory();  // uses defaults: usa, exercise id 1, site id 2, app id 3, absolute time
+
+    EntityStatePdu pdu = pduFactory.makeEntityStatePdu();  
+    /* set desired entity state fields here */
+    
+    EntityType et = EntityTypeFactory.makeEntity(11963);
+    if(et == null) {
+      System.err.println("Missing USA SURFACE entity jar in classpath");
+      return;
+    }
+    
+    pdu.setEntityType(et);
+    DisNetworking disnet = new DisNetworking(); // uses defaults: multicast port 3000 ip 230.0.0.0
+    disnet.sendPdu(pdu);  // possibly throws IOException
+    
+    /* Do the same for the second way of creating a Shenandoah entity type and show an alternate way of creating an ESPDU */
+    
+    EntityStatePdu pdu2 = (EntityStatePdu)pduFactory.createPdu(DISPDUType.ENTITY_STATE);
+    /* set desired entity state fields here */
+
+    edu.nps.moves.dis.entities.usa.platform.surface.AD44Shenandoah et2 = new edu.nps.moves.dis.entities.usa.platform.surface.AD44Shenandoah();
+    /* Use import statement to make the code above more readable */
+    
+    pdu2.setEntityType(et2);
+    disnet.sendPdu(pdu2);  // possibly throws IOException
+  }
+}
diff --git a/src/edu/nps/moves/dis/util/CoordinateConversions.java b/src/edu/nps/moves/dis/util/CoordinateConversions.java
index 262dbe7918498e0f015bf1f1e4431b09f0de3492..3a462c96f1f7a1a1758d20c3cd5fd0282036dbf1 100644
--- a/src/edu/nps/moves/dis/util/CoordinateConversions.java
+++ b/src/edu/nps/moves/dis/util/CoordinateConversions.java
@@ -1,3 +1,8 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis.util;
 
 /**
diff --git a/src/edu/nps/moves/dis/util/DisNetworking.java b/src/edu/nps/moves/dis/util/DisNetworking.java
new file mode 100644
index 0000000000000000000000000000000000000000..6447ee57da33fe96cbd8d12b75fec3fbe2b4e3eb
--- /dev/null
+++ b/src/edu/nps/moves/dis/util/DisNetworking.java
@@ -0,0 +1,94 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
+package edu.nps.moves.dis.util;
+
+import edu.nps.moves.dis.Pdu;
+import java.io.ByteArrayOutputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.net.*;
+import java.util.Enumeration;
+
+/**
+ * DisNetworking.java created on Jul 29, 2019
+ * Simple multicast receive and send methods
+ */
+public class DisNetworking
+{
+  private int DIS_PORT = 3000;
+  private String MCAST_GROUP = "230.0.0.0";
+  private static final int MAX_DIS_PDU_SIZE = 8192;
+
+  public DisNetworking()
+  {
+    this(3000, "230.0.0.0");
+  }
+
+  public DisNetworking(int port, String mcastgroup)
+  {
+    DIS_PORT = port;
+    MCAST_GROUP = mcastgroup;
+  }
+
+  public Pdu receivePdu() throws IOException
+  {
+    MulticastSocket socket;
+    DatagramPacket packet;
+    PduFactory pduFactory = new PduFactory();
+
+    socket = new MulticastSocket(DIS_PORT);
+    InetAddress maddr = InetAddress.getByName(MCAST_GROUP);
+    socket.setNetworkInterface(findIp4Interface());
+    socket.joinGroup(maddr);
+
+    byte buffer[] = new byte[MAX_DIS_PDU_SIZE];
+    packet = new DatagramPacket(buffer, buffer.length);
+
+    socket.receive(packet);   //blocks here waiting for next DIS pdu to be received on broadcast IP and specified port
+
+    System.out.println("packet received from " + packet.getSocketAddress());
+    socket.close();
+    
+    return pduFactory.createPdu(packet.getData());
+  }
+  
+  public void sendPdu(Pdu pdu) throws IOException
+  {
+     // turn object into byte stream
+      ByteArrayOutputStream baos = new ByteArrayOutputStream();
+      DataOutputStream dos = new DataOutputStream(baos);
+      pdu.marshal(dos);
+      byte[] data = baos.toByteArray();
+      
+      MulticastSocket msocket = new MulticastSocket();
+      InetAddress maddr = InetAddress.getByName(MCAST_GROUP);
+      // load byte buffer into packet and send
+      DatagramPacket packet = new DatagramPacket(data, data.length, maddr, DIS_PORT);
+      msocket.setNetworkInterface(findIp4Interface());
+      msocket.send(packet);
+
+      msocket.close();
+      System.out.println("sent to "+maddr.getHostAddress()+":"+DIS_PORT);
+  }
+  
+  /* find proper interface */
+  private static NetworkInterface findIp4Interface() throws SocketException
+  {
+    Enumeration<NetworkInterface> ifaces = NetworkInterface.getNetworkInterfaces();
+    while (ifaces.hasMoreElements()) {
+      NetworkInterface nif = ifaces.nextElement();
+      Enumeration<InetAddress> addresses = nif.getInetAddresses();
+      while (addresses.hasMoreElements()) {
+        InetAddress addr = addresses.nextElement();
+        if (addr instanceof Inet4Address && !addr.isLoopbackAddress()) {
+          System.out.println("Using network interface " + nif.getDisplayName());
+          return nif;
+        }
+      }
+    }
+    return null;
+  }
+}
diff --git a/src/edu/nps/moves/dis/util/DisThreadedNetIF.java b/src/edu/nps/moves/dis/util/DisThreadedNetIF.java
new file mode 100644
index 0000000000000000000000000000000000000000..13284ba27275c5569d964ceb40c00f9a6cf65b76
--- /dev/null
+++ b/src/edu/nps/moves/dis/util/DisThreadedNetIF.java
@@ -0,0 +1,258 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
+package edu.nps.moves.dis.util;
+
+import edu.nps.moves.dis.Pdu;
+import edu.nps.moves.dis.enumerations.DISPDUType;
+import java.io.ByteArrayOutputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.net.*;
+import java.util.*;
+import java.util.concurrent.LinkedBlockingQueue;
+
+/**
+ * DisThreadedNetIF.java created on Jul 29, 2019
+ * This is a thread-safe, multicast DIS network interface class.
+ * It is a singleton, meaning one instance per VM.  If a DIS needs to send and receive over
+ * more than one network address, this class can be modified to be multiply instanciated;
+ * MOVES Institute Naval Postgraduate School, Monterey, CA, USA www.nps.edu
+ *
+ * @author Mike Bailey, jmbailey@nps.edu
+ * @version $Id$
+ */
+public class DisThreadedNetIF
+{
+  /* ********** listener interface *********** */
+  public interface PduListener
+  {
+    void incomingPdu(Pdu pdu);
+  }
+  
+  /* ********** singleton plumbing *************** */
+  private static DisThreadedNetIF instance;
+  
+  public static DisThreadedNetIF inst()
+  {
+    if(instance == null)
+      instance = new DisThreadedNetIF();
+    return instance;
+  }
+ 
+  public static DisThreadedNetIF inst(int port, String mcastgroup)
+  {
+    if(instance == null)
+      instance = new DisThreadedNetIF(port,mcastgroup);
+    return instance;
+  }
+
+  /* *********** class instanciation ************* */
+  
+  private int DIS_PORT = 3000;
+  private String MCAST_GROUP = "225.4.5.6";
+  private static final int MAX_DIS_PDU_SIZE = 8192;
+  private boolean killed = false;
+  
+  private DisThreadedNetIF()
+  {
+    this(3000, "225.4.5.6");
+  }
+
+  private DisThreadedNetIF(int port, String mcastgroup)
+  {
+    DIS_PORT = port;
+    MCAST_GROUP = mcastgroup;
+    init();
+  }
+  
+  /* *********** queues and lists  and public methods ************** */
+  
+  private final ArrayList<PduListener> everyTypeListeners = new ArrayList<>();
+  private final HashMap<DISPDUType, ArrayList<PduListener>> typeListeners = new HashMap<>();
+  private final LinkedBlockingQueue<Pdu> pdus2send = new LinkedBlockingQueue<>();
+
+  public void addListener(PduListener lis, DISPDUType typ)
+  {
+    if(typ == null)
+      addListener(lis);
+    else {
+      ArrayList<PduListener> arLis = typeListeners.get(typ);
+      if(arLis == null) {
+        arLis = new ArrayList<>();
+        typeListeners.put(typ, arLis);
+      }
+      arLis.add(lis);
+    }
+  }
+  
+  public void addListener(PduListener lis)
+  {
+    everyTypeListeners.add(lis);
+  }
+  
+  public void removeListener(PduListener lis)
+  {
+    everyTypeListeners.remove(lis);
+
+    typeListeners.entrySet().stream().forEach(entry -> {
+      ArrayList<PduListener> arLis = entry.getValue();
+      if (arLis.contains(lis))
+        arLis.remove(lis);
+    });
+  }
+  
+  public void send(Pdu pdu)
+  {
+    pdus2send.add(pdu);
+  }
+  
+  /* *************** networking i/o ************* */
+  private PduFactory pduFactory = new PduFactory();
+  
+  private Thread sender;
+  private Thread receiver;
+
+  private MulticastSocket socket = null;
+  
+  private void init()
+  {
+    receiver = new Thread(receiveThread,"DisThreadedNetIF receive thread");
+    receiver.setDaemon(true);
+    receiver.setPriority(Thread.NORM_PRIORITY);
+    receiver.start();
+
+    sender = new Thread(sendThread,"DisThreadedNetIF send thread");
+    sender.setDaemon(true);
+    sender.setPriority(Thread.NORM_PRIORITY);
+    sender.start();
+  }
+
+  private Runnable receiveThread = () -> {
+    DatagramPacket packet;
+    while (!killed) { // keep trying on error
+      try {
+        socket = new MulticastSocket(DIS_PORT);
+        InetAddress maddr = InetAddress.getByName(MCAST_GROUP);
+        socket.setNetworkInterface(findIp4Interface());
+        socket.joinGroup(maddr);
+        while (!killed) {
+          byte buffer[] = new byte[MAX_DIS_PDU_SIZE];
+          packet = new DatagramPacket(buffer, buffer.length);
+
+          socket.receive(packet);   //blocks here waiting for next DIS pdu to be received on multicast IP and specified port
+          Pdu pdu = pduFactory.createPdu(packet.getData());
+          if (pdu != null)
+            toListeners(pdu);
+        }
+      }
+      catch (IOException ex) {
+        if (socket != null) {
+          socket.close();
+          socket = null;
+        }
+        System.err.println("Exception in DISThreadedNetIF receive thread: "+ex.getLocalizedMessage());
+        System.err.println("Retrying in 5 seconds");
+
+      }
+      if (!killed)
+        sleep(5000);
+    }
+  };
+
+  private final Runnable sendThread = () -> {
+    while (!killed) {
+      try {
+        InetAddress maddr = InetAddress.getByName(MCAST_GROUP);
+
+        while (!killed) {
+          Pdu pdu = pdus2send.take();
+
+          // turn object into byte stream
+          ByteArrayOutputStream baos = new ByteArrayOutputStream();
+          DataOutputStream dos = new DataOutputStream(baos);
+          pdu.marshal(dos);
+          byte[] data = baos.toByteArray();
+          // load byte buffer into packet and send
+          DatagramPacket packet = new DatagramPacket(data, data.length, maddr, DIS_PORT);
+          socket.send(packet);
+        }
+      }
+      catch (IOException ex) {
+        if (socket != null) {
+          socket.close();
+          socket = null;
+        }
+        System.err.println("Exception in DISThreadedNetIF send thread: "+ex.getLocalizedMessage());
+        System.err.println("Retrying in 5 seconds");
+      }
+      catch(InterruptedException ex) {
+        // probably killed
+      }
+
+      if (!killed)
+        sleep(5000);
+    }
+  };
+
+  private void toListeners(Pdu pdu)
+  {
+    everyTypeListeners.stream().forEach(lis -> lis.incomingPdu(pdu));
+    
+    ArrayList<PduListener> arLis = typeListeners.get(pdu.getPduType());
+    if(arLis != null)
+       arLis.stream().forEach(lis -> lis.incomingPdu(pdu));
+  }
+  
+  public void kill()
+  {
+    killed = true;
+    sender.interrupt();
+    receiver.interrupt();
+  }
+  
+  private void sleep(long ms)
+  {
+    try{Thread.sleep(ms);}catch(InterruptedException ex) {}
+  }
+  
+  /* find proper interface */
+  private static NetworkInterface findIp4Interface() throws SocketException
+  {
+    Enumeration<NetworkInterface> ifaces = NetworkInterface.getNetworkInterfaces();
+    while (ifaces.hasMoreElements()) {
+      NetworkInterface nif = ifaces.nextElement();
+      Enumeration<InetAddress> addresses = nif.getInetAddresses();
+      while (addresses.hasMoreElements()) {
+        InetAddress addr = addresses.nextElement();
+        if (addr instanceof Inet4Address && !addr.isLoopbackAddress()) {
+          //System.out.println("Using network interface " + nif.getDisplayName());
+          return nif;
+        }
+      }
+    }
+    return null;
+  }
+
+  /* simple test...
+  public static void main(String[] args) {
+    DisThreadedNetIF netif = new DisThreadedNetIF();
+    
+    PduListener list = (p)->{
+      System.out.println("got "+p.getClass().getSimpleName());
+    };
+    netif.addListener(list);
+    PduFactory factory = new PduFactory();
+    Arrays.stream(DISPDUType.values()).forEach(typ->{
+      Pdu pdu = factory.createPdu(typ);
+      if(pdu != null)
+      netif.send(factory.createPdu(typ));
+    });
+  }
+  */
+}
+
+
+
diff --git a/src/edu/nps/moves/dis/util/PduFactory.java b/src/edu/nps/moves/dis/util/PduFactory.java
index 0b43cc9d153d875c350bb3cb7e9160021473bc4f..a8a074a008c66b47395e3edab3ee67af45083291 100644
--- a/src/edu/nps/moves/dis/util/PduFactory.java
+++ b/src/edu/nps/moves/dis/util/PduFactory.java
@@ -1,3 +1,8 @@
+/**
+ * Copyright (c) 2008-2019, MOVES Institute, Naval Postgraduate School. All rights reserved.
+ * This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
+ */
+
 package edu.nps.moves.dis.util;
 
 import edu.nps.moves.dis.*;
@@ -12,1426 +17,1413 @@ import java.util.List;
 /**
  * PduFactory.java created on Jun 14, 2019
  * MOVES Institute Naval Postgraduate School, Monterey, CA, USA www.nps.edu
+ * <p>
+ * A class to 1) create new Pdus (for sending purposes) and 2) create Pdus from byte streams
+ * received from the net.
+ * <p>
+ * For the first use case, this the pdus will be initialized with country, exerciseId
  *
  * @author Mike Bailey, jmbailey@nps.edu
  * @version $Id$
  */
 public class PduFactory
 {
-    private Country country = Country.UNITED_STATES_OF_AMERICA_USA;
-    private byte defaultExerciseId = 1;
-    private short defaultSiteId = 2;
-    private short defaultAppId =3 ;
-    private boolean useAbsoluteTimestamp = true;
-    private final DisTime disTime;
-
-    private final Method getTime;
-    private       boolean useFastPdu = false;
-    
-    public PduFactory()
-    {
-        this.disTime = new DisTime();
-        try {
-            if (useAbsoluteTimestamp)
-                getTime = DisTime.class.getDeclaredMethod("getDisAbsoluteTimestamp", new Class<?> [0]);
-            else
-                getTime = DisTime.class.getDeclaredMethod("getDisRelativeTimestamp", new Class<?> [0]);
-        }
-        catch (NoSuchMethodException ex) {
-            throw new RuntimeException(ex);
-        }
-    }
-    
-    public PduFactory(Country country, byte exerciseId, short siteId, short applicationId, boolean useAbsoluteTimestamp)
-    {
-        this();
-        this.country = country;
-        this.defaultExerciseId = exerciseId;
-        this.defaultSiteId = siteId;
-        this.defaultAppId = applicationId;
-
-        this.useAbsoluteTimestamp = useAbsoluteTimestamp;
-       
-    }
-
-    public void useFastEspdu(boolean tf)
-    {
-        useFastPdu = tf;
-    }
-    
-    /**
-     * ***************************************************
-     */
-
-    /* utility methods*/
-    private int doTime()
-    {
-        try {
-            return (int) getTime.invoke(disTime, (Object[]) null);
-        }
-        catch (IllegalAccessException | InvocationTargetException ex) {
-            throw new RuntimeException(ex);
-        }
-    }
-
-    private PduBase addBoilerPlate(PduBase pdu)
-    {
-        pdu.getPduStatus().setValue((byte)(PduStatus.AII_ACTIVE|PduStatus.CEI_COUPLED));
-        pdu.setExerciseID(defaultExerciseId)
-           .setTimestamp(doTime())
-           .setLength((short) pdu.getMarshalledSize());  //todo check if should be done in Pdu class
-
-        return pdu;
-    }
-
-    private LiveEntityPdu addBoilerPlate(LiveEntityPdu pdu)
-    {
-        pdu.setSubprotocolNumber(DISLiveEntitySubprotocolNumber.NO_SUBPROTOCOL)
-            .setExerciseID(defaultExerciseId)
-            .setTimestamp(doTime())
-            .setLength((short) pdu.getMarshalledSize());  //todo check if should be done in Pdu class
-
-        return pdu;
-    }
-
-    private EntityID newEntityID()
-    {
-        EntityID e = new EntityID() /*
-            .setApplicationID(defaultAppId)
-            .setSiteID(defaultSiteId)*/;
-        return e;
-    }
-    
-    private EntityType newEntityType()
-    {
-        EntityType et = new EntityType()/*
-            .setCountry(this.country)
-            .setDomain(PlatformDomain.SURFACE)
-            .setEntityKind(EntityKind.OTHER)*/;
-        return et;
-    }
-    
-    private SimulationAddress newSimulationAddress()
-    {
-        SimulationAddress saddr = new SimulationAddress()/*
-            .setApplication(defaultAppId)
-            .setSite(defaultSiteId)*/;
-        return saddr;
-    }
-    
-    private ObjectIdentifier newObjectIdentifier()
-    {
-        ObjectIdentifier oi = new ObjectIdentifier()/*
-            .setSimulationAddress(newSimulationAddress())*/;
-        return oi;
-    }
-    
-    private ObjectType newObjectType()
-    {
-        ObjectType ot = new ObjectType()/*
+  private Country country = Country.UNITED_STATES_OF_AMERICA_USA;
+  private byte defaultExerciseId = 1;
+  private short defaultSiteId = 2;
+  private short defaultAppId = 3;
+  private boolean useAbsoluteTimestamp = true;
+  private final DisTime disTime;
+
+  private Method getTime;
+  private boolean useFastPdu = false;
+
+  public PduFactory()
+  {
+    this.disTime = new DisTime();
+    getTimeStampMethod();
+
+  }
+
+  public PduFactory(Country country, byte exerciseId, short siteId, short applicationId, boolean useAbsoluteTimestamp)
+  {
+    this.disTime = new DisTime();
+    this.country = country;
+    this.defaultExerciseId = exerciseId;
+    this.defaultSiteId = siteId;
+    this.defaultAppId = applicationId;
+
+    this.useAbsoluteTimestamp = useAbsoluteTimestamp;
+    getTimeStampMethod();
+  }
+
+  private void getTimeStampMethod()
+  {
+    try {
+      if (useAbsoluteTimestamp)
+        getTime = DisTime.class.getDeclaredMethod("getDisAbsoluteTimestamp", new Class<?>[0]);
+      else
+        getTime = DisTime.class.getDeclaredMethod("getDisRelativeTimestamp", new Class<?>[0]);
+    }
+    catch (NoSuchMethodException ex) {
+      throw new RuntimeException(ex);
+    }
+  }
+
+  public void useFastEspdu(boolean tf)
+  {
+    useFastPdu = tf;
+  }
+
+  /* ***************************************************/
+ /* utility methods*/
+  private int doTime()
+  {
+    try {
+      return (int) getTime.invoke(disTime, (Object[]) null);
+    }
+    catch (IllegalAccessException | InvocationTargetException ex) {
+      throw new RuntimeException(ex);
+    }
+  }
+
+  private PduBase addBoilerPlate(PduBase pdu)
+  {
+    pdu.getPduStatus().setValue((byte) (PduStatus.AII_ACTIVE | PduStatus.CEI_COUPLED));
+    pdu.setExerciseID(defaultExerciseId)
+      .setTimestamp(doTime())
+      .setLength((short) pdu.getMarshalledSize());  //todo check if should be done in Pdu class
+
+    return pdu;
+  }
+
+  private LiveEntityPdu addBoilerPlate(LiveEntityPdu pdu)
+  {
+    pdu.setSubprotocolNumber(DISLiveEntitySubprotocolNumber.NO_SUBPROTOCOL)
+      .setExerciseID(defaultExerciseId)
+      .setTimestamp(doTime())
+      .setLength((short) pdu.getMarshalledSize());  //todo check if should be done in Pdu class
+
+    return pdu;
+  }
+
+  private EntityID newEntityID()
+  {
+    EntityID e = new EntityID()
+      .setApplicationID(defaultAppId)
+      .setSiteID(defaultSiteId);
+    return e;
+  }
+
+  private EntityType newEntityType()
+  {
+    EntityType et = new EntityType()
+      .setCountry(this.country);
+    /*
             .setDomain(PlatformDomain.SURFACE)
-            .setObjectKind(ObjectKind.OTHER)*/;
-        return ot;
-    }
-    
-    private EventIdentifier newEventIdentifier()
-    {
-        EventIdentifier eid = new EventIdentifier();/*
-        eid.setSimulationAddress(newSimulationAddress());*/
-        return eid;
-    }
-
-    private SimulationIdentifier newSimulationIdentifier()
-    {
-        SimulationIdentifier si = new SimulationIdentifier();/*
-        si.setSimulationAddress(newSimulationAddress());*/
-        return si;
-    }
-    
-    private SystemIdentifier newSystemIdentifier()
-    {
-        SystemIdentifier si = new SystemIdentifier()/*
-            .setChangeOptions(new ChangeOptions())
-            .setSystemMode(IFFSystemMode.NO_STATEMENT)
-            .setSystemName(IFFSystemName.NOT_USED_INVALID_VALUE)
-            .setSystemType(IFFSystemType.NOT_USED_INVALID_VALUE)*/;
-        return si;
-    }
-    
-    private AggregateType newAggregateType()
-    {
-        AggregateType typ = new AggregateType()/*
-            .setAggregateKind(AggregateStateAggregateKind.OTHER)
-            .setCountry(this.country)
-            .setDomain(PlatformDomain.SURFACE)
-            .setSubcategory(AggregateStateSubcategory.OTHER)
-            .setSpecificInfo(AggregateStateSpecific.NO_HEADQUARTERS)*/;
-        return typ;
-    }
-    
-    private AggregateMarking newAggregateMarking()
-    {
-        AggregateMarking am = new AggregateMarking()/*
-            .setCharacterSet(EntityMarkingCharacterSet.ASCII)*/;
-        return am;
-    }
-    
-    private EntityMarking newEntityMarking()
-    {
-        EntityMarking em = new EntityMarking()/*
-            .setCharacterSet(EntityMarkingCharacterSet.ASCII)*/;
-        return em;
-    }
-    
-    private MunitionDescriptor newMunitionDescriptor()
-    {
-        MunitionDescriptor md = new MunitionDescriptor()/*
+            .setEntityKind(EntityKind.OTHER)
+     */
+    return et;
+  }
+
+  private SimulationAddress newSimulationAddress()
+  {
+    SimulationAddress saddr = new SimulationAddress()
+      .setApplication(defaultAppId)
+      .setSite(defaultSiteId);
+    return saddr;
+  }
+
+  private ObjectIdentifier newObjectIdentifier()
+  {
+    ObjectIdentifier oi = new ObjectIdentifier()
+      .setSimulationAddress(newSimulationAddress());
+    return oi;
+  }
+
+  private EventIdentifier newEventIdentifier()
+  {
+    EventIdentifier eid = new EventIdentifier();
+    eid.setSimulationAddress(newSimulationAddress());
+    return eid;
+  }
+
+  private SimulationIdentifier newSimulationIdentifier()
+  {
+    SimulationIdentifier si = new SimulationIdentifier();
+    si.setSimulationAddress(newSimulationAddress());
+    return si;
+  }
+
+  private MunitionDescriptor newMunitionDescriptor()
+  {
+    MunitionDescriptor md = new MunitionDescriptor()
+      .setMunitionType(newEntityType());
+    /*
             .setFuse(MunitionDescriptorFuse.OTHER)
-            .setMunitionType(newEntityType())
-            .setWarhead(MunitionDescriptorWarhead.OTHER)*/;
-        return md;
-    }
-    
-    private DeadReckoningParameters newDeadReckoningParameters()
-    {
-        DeadReckoningParameters drp = new DeadReckoningParameters()/*
-            .setDeadReckoningAlgorithm(DeadReckoningAlgorithm.OTHER)
-            .setEntityAngularVelocity(new Vector3Float())
-            .setEntityLinearAcceleration(new Vector3Float())*/;
-        return drp;
-    }
-    
-    private LiveDeadReckoningParameters newLiveDeadReckoningParameters()
-    {
-        LiveDeadReckoningParameters ldrp = new LiveDeadReckoningParameters()/*
-            .setDeadReckoningAlgorithm(DeadReckoningAlgorithm.OTHER)
-            .setEntityAngularVelocity(new LEVector3FixedByte())
-            .setEntityLinearAcceleration(new LEVector3FixedByte())*/;
-        return ldrp;
-    }
-    
-    private NamedLocationIdentification newNamedLocationIdentification()
-    {
-        NamedLocationIdentification nli = new NamedLocationIdentification()/*
-            .setStationName(IsPartOfStationName.OTHER)*/;
-        return nli;
-    }
-    
-    private Relationship newRelationship()
-    {
-        Relationship r = new Relationship()/*
-            .setNature(IsPartOfNature.OTHER)
-            .setPosition(IsPartOfPosition.OTHER)*/;
-        return r;
-    }
-    
-    private MinefieldIdentifier newMinefieldIdentifier()
-    {
-        MinefieldIdentifier mi = new MinefieldIdentifier()/*
-            .setSimulationAddress(newSimulationAddress())*/;
-        return mi;
-    }
-    
-    private RadioCommsHeader newRadioCommsHeader()
-    {
-        RadioCommsHeader rch = new RadioCommsHeader()/*
-            .setRadioReferenceID(newEntityID())*/;
-        return rch;
-    }
-    
-    private ModulationType newModulationType()
-    {
-        ModulationType mt = new ModulationType()/*
-            .setMajorModulation(TransmitterMajorModulation.NO_STATEMENT)
-            .setRadioSystem(TransmitterModulationTypeSystem.OTHER)*/;
-        return mt;
-    }
-    
-    private RadioType newRadioType()
-    {
-        RadioType rt = new RadioType()/*
+            .setWarhead(MunitionDescriptorWarhead.OTHER);
+     */
+    return md;
+  }
+
+  private MinefieldIdentifier newMinefieldIdentifier()
+  {
+    MinefieldIdentifier mi = new MinefieldIdentifier()
+      .setSimulationAddress(newSimulationAddress());
+    return mi;
+  }
+
+  private RadioCommsHeader newRadioCommsHeader()
+  {
+    RadioCommsHeader rch = new RadioCommsHeader()
+      .setRadioReferenceID(newEntityID());
+    return rch;
+  }
+
+  private RadioType newRadioType()
+  {
+    RadioType rt = new RadioType()
+      .setCountry(this.country);
+    /*
             .setCategory(RadioCategory.OTHER)
-            .setCountry(this.country)
             .setEntityKind(EntityKind.OTHER)
-            .setSubcategory(RadioSubcategory.OTHER)*/;
-        return rt;
-    }
-        
-    //*******************************************************/   
-    //*******************************************************/   
-
-    // Pdu construction methods
-    public EntityStatePdu makeEntityStatePdu()
-    {
-        EntityStatePdu pdu = new EntityStatePdu()/*
-            .setAlternativeEntityType(newEntityType())
-            .setEntityType(newEntityType())
+            .setSubcategory(RadioSubcategory.OTHER)
+     */
+    return rt;
+  }
+
+  /* ********************************** */
+ /* Pdu construction methods */
+  public EntityStatePdu makeEntityStatePdu()
+  {
+    EntityStatePdu pdu = new EntityStatePdu()
+      .setEntityID(newEntityID())
+      .setEntityType(newEntityType())
+      .setAlternativeEntityType(newEntityType());
+    /*
             .setCapabilities(new SurfacePlatformCapabilities())
             .setDeadReckoningParameters(newDeadReckoningParameters())
-            .setEntityID(newEntityID())
             .setEntityLinearVelocity(new Vector3Float())
             .setEntityLocation(new Vector3Double())
             .setEntityOrientation(new EulerAngles())
             .setForceId(ForceID.OTHER)
-            .setMarking(newEntityMarking())*/;
-        
-        return (EntityStatePdu) addBoilerPlate(pdu);
-    }
-
-    public FirePdu makeFirePdu()
-    {
-        FirePdu pdu = new FirePdu()
-            .setDescriptor(newMunitionDescriptor())/*
-            .setEventID(new EventIdentifier())
-            .setFiringEntityID(newEntityID())
-            .setMunitionExpendibleID(newEntityID())
-            .setTargetEntityID(newEntityID())
-            .setLocationInWorldCoordinates(new Vector3Double())*/;
-
-        return (FirePdu) addBoilerPlate(pdu);
-    }
-
-    public DetonationPdu makeDetonationPdu()
-    {
-        DetonationPdu pdu = new DetonationPdu() /*
-            .setDescriptor(newMunitionDescriptor())
+            .setMarking(newEntityMarking())
+     */
+    return (EntityStatePdu) addBoilerPlate(pdu);
+  }
+
+  public FirePdu makeFirePdu()
+  {
+    FirePdu pdu = new FirePdu()
+      .setFiringEntityID(newEntityID())
+      .setMunitionExpendibleID(newEntityID())
+      .setTargetEntityID(newEntityID())
+      .setEventID(new EventIdentifier())
+      .setDescriptor(newMunitionDescriptor());
+    /*
+            .setLocationInWorldCoordinates(new Vector3Double())
+     */
+    return (FirePdu) addBoilerPlate(pdu);
+  }
+
+  public DetonationPdu makeDetonationPdu()
+  {
+    DetonationPdu pdu = new DetonationPdu()
+      .setEventID(newEventIdentifier())
+      .setDescriptor(newMunitionDescriptor());
+    /*
             .setDetonationResult(DetonationResult.OTHER)
-            .setEventID(newEventIdentifier())*/;
-
-        return (DetonationPdu) addBoilerPlate(pdu);
-    }
-
-    public CollisionPdu makeCollisionPdu()
-    {
-        CollisionPdu pdu = new CollisionPdu() /*
-            .setCollidingEntityID(newEntityID())
+     */
+    return (DetonationPdu) addBoilerPlate(pdu);
+  }
+
+  public CollisionPdu makeCollisionPdu()
+  {
+    CollisionPdu pdu = new CollisionPdu()
+      .setCollidingEntityID(newEntityID())
+      .setEventID(newEventIdentifier())
+      .setIssuingEntityID(newEntityID());
+    /*
             .setCollisionType(CollisionType.INELASTIC)
-            .setEventID(newEventIdentifier())
-            .setIssuingEntityID(newEntityID())
             .setLocation(new Vector3Float())
             .setVelocity(new Vector3Float())*/;
 
-        return (CollisionPdu) addBoilerPlate(pdu);
-    }
+    return (CollisionPdu) addBoilerPlate(pdu);
+  }
 
-    public ServiceRequestPdu makeServiceRequestPdu()
-    {
-        ServiceRequestPdu pdu = new ServiceRequestPdu() /*
-            .setRequestingEntityID(newEntityID())
+  public ServiceRequestPdu makeServiceRequestPdu()
+  {
+    ServiceRequestPdu pdu = new ServiceRequestPdu()
+      .setRequestingEntityID(newEntityID())
+      .setServicingEntityID(newEntityID());
+    /*
             .setServiceTypeRequested(ServiceRequestServiceTypeRequested.OTHER)
-            .setServicingEntityID(newEntityID())*/;
-
-        return (ServiceRequestPdu) addBoilerPlate(pdu);
-    }
-
-    public ResupplyOfferPdu makeResupplyOfferPdu()
-    {
-        ResupplyOfferPdu pdu = new ResupplyOfferPdu()/*
-            .setReceivingEntityID(newEntityID())
-            .setSupplyingEntityID(newEntityID())*/;
-
-        return (ResupplyOfferPdu) addBoilerPlate(pdu);
-    }
-
-    public ResupplyReceivedPdu makeResupplyReceivedPdu()
-    {
-        ResupplyReceivedPdu pdu = new ResupplyReceivedPdu()/*
-            .setReceivingEntityID(newEntityID())
-            .setSupplyingEntityID(newEntityID())*/;
-
-        return (ResupplyReceivedPdu) addBoilerPlate(pdu);
-    }
-
-    public ResupplyCancelPdu makeResupplyCancelPdu()
-    {
-        ResupplyCancelPdu pdu = new ResupplyCancelPdu() /*
-            .setReceivingEntityID(newEntityID())
-            .setSupplyingEntityID(newEntityID())*/;
-        
-        return (ResupplyCancelPdu) addBoilerPlate(pdu);
-    }
-
-    public RepairCompletePdu makeRepairCompletePdu()
-    {
-        RepairCompletePdu pdu = new RepairCompletePdu()/*
-            .setReceivingEntityID(newEntityID())
+     */;
+
+    return (ServiceRequestPdu) addBoilerPlate(pdu);
+  }
+
+  public ResupplyOfferPdu makeResupplyOfferPdu()
+  {
+    ResupplyOfferPdu pdu = new ResupplyOfferPdu()
+      .setReceivingEntityID(newEntityID())
+      .setSupplyingEntityID(newEntityID());
+
+    return (ResupplyOfferPdu) addBoilerPlate(pdu);
+  }
+
+  public ResupplyReceivedPdu makeResupplyReceivedPdu()
+  {
+    ResupplyReceivedPdu pdu = new ResupplyReceivedPdu()
+      .setReceivingEntityID(newEntityID())
+      .setSupplyingEntityID(newEntityID());
+
+    return (ResupplyReceivedPdu) addBoilerPlate(pdu);
+  }
+
+  public ResupplyCancelPdu makeResupplyCancelPdu()
+  {
+    ResupplyCancelPdu pdu = new ResupplyCancelPdu()
+      .setReceivingEntityID(newEntityID())
+      .setSupplyingEntityID(newEntityID());
+
+    return (ResupplyCancelPdu) addBoilerPlate(pdu);
+  }
+
+  public RepairCompletePdu makeRepairCompletePdu()
+  {
+    RepairCompletePdu pdu = new RepairCompletePdu()
+      .setReceivingEntityID(newEntityID())
+      .setRepairingEntityID(newEntityID());
+    /* 
             .setRepair(RepairCompleteRepair.AIRFRAME)
-            .setRepairingEntityID(newEntityID())*/;
+     */;
 
-        return (RepairCompletePdu) addBoilerPlate(pdu);
-    }
+    return (RepairCompletePdu) addBoilerPlate(pdu);
+  }
 
-    public RepairResponsePdu makeRepairResponsePdu()
-    {
-        RepairResponsePdu pdu = new RepairResponsePdu() /*
-            .setReceivingEntityID(newEntityID())
+  public RepairResponsePdu makeRepairResponsePdu()
+  {
+    RepairResponsePdu pdu = new RepairResponsePdu()
+      .setReceivingEntityID(newEntityID())
+      .setRepairingEntityID(newEntityID());
+    /*
             .setRepairResult(RepairResponseRepairResult.REPAIR_ENDED)
-            .setRepairingEntityID(newEntityID())*/;
+     */
 
-        return (RepairResponsePdu) addBoilerPlate(pdu);
-    }
+    return (RepairResponsePdu) addBoilerPlate(pdu);
+  }
 
-    public CreateEntityPdu makeCreateEntityPdu()
-    {
-        CreateEntityPdu pdu = new CreateEntityPdu();
+  public CreateEntityPdu makeCreateEntityPdu()
+  {
+    CreateEntityPdu pdu = new CreateEntityPdu();
 
-        return (CreateEntityPdu) addBoilerPlate(pdu);
-    }
+    return (CreateEntityPdu) addBoilerPlate(pdu);
+  }
 
-    public RemoveEntityPdu makeRemoveEntityPdu()
-    {
-        RemoveEntityPdu pdu = new RemoveEntityPdu();/*
-        pdu.setOriginatingID(newSimulationIdentifier());
-        pdu.setReceivingID(newSimulationIdentifier());*/
+  public RemoveEntityPdu makeRemoveEntityPdu()
+  {
+    RemoveEntityPdu pdu = new RemoveEntityPdu();
+    pdu.setOriginatingID(newSimulationIdentifier());
+    pdu.setReceivingID(newSimulationIdentifier());
 
-        return (RemoveEntityPdu) addBoilerPlate(pdu);
-    }
+    return (RemoveEntityPdu) addBoilerPlate(pdu);
+  }
 
-    public StartResumePdu makeStartResumePdu()
-    {
-        StartResumePdu pdu = new StartResumePdu();
+  public StartResumePdu makeStartResumePdu()
+  {
+    StartResumePdu pdu = new StartResumePdu();
 
-        return (StartResumePdu) addBoilerPlate(pdu);
-    }
+    return (StartResumePdu) addBoilerPlate(pdu);
+  }
 
-    public StopFreezePdu makeStopFreezePdu()
-    {
-        StopFreezePdu pdu = new StopFreezePdu()/*
+  public StopFreezePdu makeStopFreezePdu()
+  {
+    StopFreezePdu pdu = new StopFreezePdu();
+    /*
             .setFrozenBehavior(new StopFreezeFrozenBehavior())
             .setRealWorldTime(new ClockTime())
-            .setReason(StopFreezeReason.OTHER)*/;
-
-        return (StopFreezePdu) addBoilerPlate(pdu);
-    }
-
-    public AcknowledgePdu makeAcknowledgePdu()
-    {
-        AcknowledgePdu pdu = new AcknowledgePdu()/*;
-        pdu.setAcknowledgeFlag(AcknowledgeAcknowledgeFlag.CREATE_ENTITY);
-        pdu.setOriginatingID(newSimulationIdentifier());
-        pdu.setResponseFlag(AcknowledgeResponseFlag.OTHER);
-        pdu.setPduStatus((byte)0)*/;
-        return (AcknowledgePdu) addBoilerPlate(pdu);
-    }
-
-    public ActionRequestPdu makeActionRequestPdu()
-    {
-        ActionRequestPdu pdu = new ActionRequestPdu()/*
-        .setActionID(ActionRequestActionID.OTHER)*/;       
-        return (ActionRequestPdu) addBoilerPlate(pdu);
-    }
-
-    public ActionResponsePdu makeActionResponsePdu()
-    {
-        ActionResponsePdu pdu = new ActionResponsePdu()/*
-            .setRequestStatus(ActionResponseRequestStatus.OTHER)*/;
-        return (ActionResponsePdu) addBoilerPlate(pdu);
-    }
-
-    public DataQueryPdu makeDataQueryPdu()
-    {
-        DataQueryPdu pdu = new DataQueryPdu();
-
-        return (DataQueryPdu) addBoilerPlate(pdu);
-    }
-
-    public SetDataPdu makeSetDataPdu()
-    {
-        SetDataPdu pdu = new SetDataPdu();
-
-        return (SetDataPdu) addBoilerPlate(pdu);
-    }
+            .setReason(StopFreezeReason.OTHER)
+     */
+    return (StopFreezePdu) addBoilerPlate(pdu);
+  }
+
+  public AcknowledgePdu makeAcknowledgePdu()
+  {
+    AcknowledgePdu pdu = new AcknowledgePdu();
+    pdu.setOriginatingID(newSimulationIdentifier());
+    /*
+            .setAcknowledgeFlag(AcknowledgeAcknowledgeFlag.CREATE_ENTITY);
+            .setResponseFlag(AcknowledgeResponseFlag.OTHER);
+            .setPduStatus((byte)0)
+     */
+    return (AcknowledgePdu) addBoilerPlate(pdu);
+  }
 
-    public DataPdu makeDataPdu()
-    {
-        DataPdu pdu = new DataPdu();
+  public ActionRequestPdu makeActionRequestPdu()
+  {
+    ActionRequestPdu pdu = new ActionRequestPdu();
+    /*
+            .setActionID(ActionRequestActionID.OTHER)
+     */
+    return (ActionRequestPdu) addBoilerPlate(pdu);
+  }
+
+  public ActionResponsePdu makeActionResponsePdu()
+  {
+    ActionResponsePdu pdu = new ActionResponsePdu();
+    /*
+            .setRequestStatus(ActionResponseRequestStatus.OTHER)
+     */
+    return (ActionResponsePdu) addBoilerPlate(pdu);
+  }
 
-        return (DataPdu) addBoilerPlate(pdu);
-    }
+  public DataQueryPdu makeDataQueryPdu()
+  {
+    DataQueryPdu pdu = new DataQueryPdu();
 
-    public EventReportPdu makeEventReportPdu()
-    {
-        EventReportPdu pdu = new EventReportPdu()/*
-            .setEventType(EventReportEventType.OTHER)*/;
-            
-        return (EventReportPdu) addBoilerPlate(pdu);
-    }
+    return (DataQueryPdu) addBoilerPlate(pdu);
+  }
 
-    public CommentPdu makeCommentPdu()
-    {
-        CommentPdu pdu = new CommentPdu();
+  public SetDataPdu makeSetDataPdu()
+  {
+    SetDataPdu pdu = new SetDataPdu();
 
-        return (CommentPdu) addBoilerPlate(pdu);
-    }
+    return (SetDataPdu) addBoilerPlate(pdu);
+  }
 
-    public ElectronicEmissionsPdu makeElectronicEmissionsPdu()
-    {
-        ElectronicEmissionsPdu pdu = new ElectronicEmissionsPdu()/*
-            .setEmittingEntityID(newEntityID())
-            .setEventID(newEventIdentifier())
-            .setStateUpdateIndicator(ElectromagneticEmissionStateUpdateIndicator.HEARTBEAT_UPDATE)*/;
+  public DataPdu makeDataPdu()
+  {
+    DataPdu pdu = new DataPdu();
 
-        return (ElectronicEmissionsPdu) addBoilerPlate(pdu);
-    }
+    return (DataPdu) addBoilerPlate(pdu);
+  }
 
-    public DesignatorPdu makeDesignatorPdu()
-    {
-        DesignatorPdu pdu = new DesignatorPdu()/*
+  public EventReportPdu makeEventReportPdu()
+  {
+    EventReportPdu pdu = new EventReportPdu();
+    /*
+            .setEventType(EventReportEventType.OTHER)
+     */
+    return (EventReportPdu) addBoilerPlate(pdu);
+  }
+
+  public CommentPdu makeCommentPdu()
+  {
+    CommentPdu pdu = new CommentPdu();
+
+    return (CommentPdu) addBoilerPlate(pdu);
+  }
+
+  public ElectronicEmissionsPdu makeElectronicEmissionsPdu()
+  {
+    ElectronicEmissionsPdu pdu = new ElectronicEmissionsPdu()
+      .setEmittingEntityID(newEntityID())
+      .setEventID(newEventIdentifier());
+    /*
+            .setStateUpdateIndicator(ElectromagneticEmissionStateUpdateIndicator.HEARTBEAT_UPDATE)
+     */
+    return (ElectronicEmissionsPdu) addBoilerPlate(pdu);
+  }
+
+  public DesignatorPdu makeDesignatorPdu()
+  {
+    DesignatorPdu pdu = new DesignatorPdu()
+      .setDesignatedEntityID(newEntityID())
+      .setDesignatingEntityID(newEntityID());
+    /*
             .setCodeName(DesignatorSystemName.NOT_SPECIFIED)
             .setDeadReckoningAlgorithm(DeadReckoningAlgorithm.OTHER)
-            .setDesignatedEntityID(newEntityID())
-            .setDesignatingEntityID(newEntityID())
             .setDesignatorCode(DesignatorDesignatorCode.OTHER)
             .setDesignatorSpotLocation(new Vector3Double())
             .setDesignatorSpotWrtDesignated(new Vector3Float())
-            .setEntityLinearAcceleration(new Vector3Float())*/;
-
-        return (DesignatorPdu) addBoilerPlate(pdu);
-    }
-
-    public TransmitterPdu makeTransmitterPdu()
-    {
-        TransmitterPdu pdu = new TransmitterPdu()/*
+            .setEntityLinearAcceleration(new Vector3Float())
+     */
+    return (DesignatorPdu) addBoilerPlate(pdu);
+  }
+
+  public TransmitterPdu makeTransmitterPdu()
+  {
+    TransmitterPdu pdu = new TransmitterPdu()
+      .setHeader(newRadioCommsHeader())
+      .setRadioEntityType(newRadioType());
+    /*
             .setAntennaLocation(new Vector3Double())
             .setAntennaPatternType(TransmitterAntennaPatternType.BEAM)
             .setCryptoSystem(TransmitterCryptoSystem.NO_ENCRYPTION_DEVICE)
-            .setHeader(newRadioCommsHeader())
             .setInputSource(TransmitterInputSource.OTHER)
             .setModulationType(newModulationType())
-            .setRadioEntityType(newRadioType())
             .setRelativeAntennaLocation(new Vector3Float())
-            .setTransmitState(TransmitterTransmitState.OFF)*/;
-
-        return (TransmitterPdu) addBoilerPlate(pdu);
-    }
-
-    public SignalPdu makeSignalPdu()
-    {
-        SignalPdu pdu = new SignalPdu()/*
-            .setHeader(newRadioCommsHeader())
-            .setTdlType(SignalTDLType.OTHER)*/;
-
-        return (SignalPdu) addBoilerPlate(pdu);
-    }
-
-    public ReceiverPdu makeReceiverPdu()
-    {
-        ReceiverPdu pdu = new ReceiverPdu()/*
-            .setHeader(newRadioCommsHeader())
+            .setTransmitState(TransmitterTransmitState.OFF)
+     */
+    return (TransmitterPdu) addBoilerPlate(pdu);
+  }
+
+  public SignalPdu makeSignalPdu()
+  {
+    SignalPdu pdu = new SignalPdu()
+      .setHeader(newRadioCommsHeader());
+    /*
+            .setTdlType(SignalTDLType.OTHER)
+     */
+    return (SignalPdu) addBoilerPlate(pdu);
+  }
+
+  public ReceiverPdu makeReceiverPdu()
+  {
+    ReceiverPdu pdu = new ReceiverPdu()
+      .setTransmitterEntityId(newEntityID())
+      .setHeader(newRadioCommsHeader());
+    /*
             .setReceiverState(ReceiverReceiverState.OFF)
-            .setTransmitterEntityId(newEntityID())*/;
-
-        return (ReceiverPdu) addBoilerPlate(pdu);
-    }
-
-    public IffPdu makeIffPdu()
-    {
-        IffPdu pdu = new IffPdu()/*
-            .setEmittingEntityId(newEntityID())
-            .setEventID(newEventIdentifier())
+     */
+    return (ReceiverPdu) addBoilerPlate(pdu);
+  }
+
+  public IffPdu makeIffPdu()
+  {
+    IffPdu pdu = new IffPdu()
+      .setEmittingEntityId(newEntityID())
+      .setEventID(newEventIdentifier());
+    /*
             .setFundamentalParameters(new FundamentalOperationalData())
             .setLocation(new Vector3Float())
-            .setSystemID(newSystemIdentifier())*/;
+            .setSystemID(newSystemIdentifier())
+     */
 
-        return (IffPdu) addBoilerPlate(pdu);
-    }
+    return (IffPdu) addBoilerPlate(pdu);
+  }
 
-    public UnderwaterAcousticPdu makeUnderwaterAcousticPdu()
-    {
-        UnderwaterAcousticPdu pdu = new UnderwaterAcousticPdu()/*
-            .setEmittingEntityID(newEntityID())
-            .setEventID(newEventIdentifier())
+  public UnderwaterAcousticPdu makeUnderwaterAcousticPdu()
+  {
+    UnderwaterAcousticPdu pdu = new UnderwaterAcousticPdu()
+      .setEmittingEntityID(newEntityID())
+      .setEventID(newEventIdentifier());
+    /*
             .setPassiveParameterIndex(UAPassiveParameterIndex.OTHER)
-            .setStateChangeIndicator(UAStateChangeUpdateIndicator.STATE_UPDATE)*/;
+            .setStateChangeIndicator(UAStateChangeUpdateIndicator.STATE_UPDATE)
+     */
+    return (UnderwaterAcousticPdu) addBoilerPlate(pdu);
+  }
 
-        return (UnderwaterAcousticPdu) addBoilerPlate(pdu);
-    }
+  public SeesPdu makeSeesPdu()
+  {
+    SeesPdu pdu = new SeesPdu();
 
-    public SeesPdu makeSeesPdu()
-    {
-        SeesPdu pdu = new SeesPdu();
+    return (SeesPdu) addBoilerPlate(pdu);
+  }
 
-        return (SeesPdu) addBoilerPlate(pdu);
-    }
+  public IntercomSignalPdu makeIntercomSignalPdu()
+  {
+    IntercomSignalPdu pdu = new IntercomSignalPdu();
 
-    public IntercomSignalPdu makeIntercomSignalPdu()
-    {
-        IntercomSignalPdu pdu = new IntercomSignalPdu();
+    return (IntercomSignalPdu) addBoilerPlate(pdu);
+  }
 
-        return (IntercomSignalPdu) addBoilerPlate(pdu);
-    }
-
-    public IntercomControlPdu makeIntercomControlPdu()
-    {
-        IntercomControlPdu pdu = new IntercomControlPdu()/*
+  public IntercomControlPdu makeIntercomControlPdu()
+  {
+    IntercomControlPdu pdu = new IntercomControlPdu()
+      .setSourceEntityID(newEntityID());
+    /*
             .setCommand(IntercomControlCommand.NO_COMMAND)
             .setControlType(IntercomControlControlType.STATUS)
-            .setSourceEntityID(newEntityID())
-            .setTransmitLineState(IntercomControlTransmitLineState.NOT_TRANSMITTING)*/;
-
-        return (IntercomControlPdu) addBoilerPlate(pdu);
-    }
+            .setTransmitLineState(IntercomControlTransmitLineState.NOT_TRANSMITTING)
+     */
+    return (IntercomControlPdu) addBoilerPlate(pdu);
+  }
 
-    public AggregateStatePdu makeAggregateStatePdu()
-    {
-        AggregateStatePdu pdu = new AggregateStatePdu()/*
+  public AggregateStatePdu makeAggregateStatePdu()
+  {
+    AggregateStatePdu pdu = new AggregateStatePdu();
+    /*
             .setAggregateState(AggregateStateAggregateState.OTHER)
             .setAggregateType(newAggregateType())
             .setForceID(ForceID.OTHER)
             .setFormation(AggregateStateFormation.OTHER)
-            .setAggregateMarking(newAggregateMarking())*/;            
-        return (AggregateStatePdu) addBoilerPlate(pdu);
-    }
-
-    public IsGroupOfPdu makeIsGroupOfPdu()
-    {
-        IsGroupOfPdu pdu = new IsGroupOfPdu()/*
-            .setGroupEntityID(newEntityID())
-            .setGroupedEntityCategory(IsGroupOfGroupedEntityCategory.UNDEFINED)*/;
-
-        return (IsGroupOfPdu) addBoilerPlate(pdu);
-    }
-
-    public TransferOwnershipPdu makeTransferOwnershipPdu()
-    {
-        TransferOwnershipPdu pdu = new TransferOwnershipPdu()/*
-            .setOriginatingEntityID(newEntityID())
-            .setReceivingEntityID(newEntityID())
+            .setAggregateMarking(newAggregateMarking())
+     */
+    return (AggregateStatePdu) addBoilerPlate(pdu);
+  }
+
+  public IsGroupOfPdu makeIsGroupOfPdu()
+  {
+    IsGroupOfPdu pdu = new IsGroupOfPdu()
+      .setGroupEntityID(newEntityID());
+    /*
+            .setGroupedEntityCategory(IsGroupOfGroupedEntityCategory.UNDEFINED)
+     */
+    return (IsGroupOfPdu) addBoilerPlate(pdu);
+  }
+
+  public TransferOwnershipPdu makeTransferOwnershipPdu()
+  {
+    TransferOwnershipPdu pdu = new TransferOwnershipPdu()
+      .setOriginatingEntityID(newEntityID())
+      .setReceivingEntityID(newEntityID())
+      .setTransferEntityID(newEntityID());
+    /*
             .setRecordSets(new RecordSpecification())
             .setRequiredReliabilityService(RequiredReliabilityService.ACKNOWLEDGED)
-            .setTransferEntityID(newEntityID())
-            .setTransferType(TransferControlTransferType.OTHER)*/;
-
-        return (TransferOwnershipPdu) addBoilerPlate(pdu);
-    }
-
-    public IsPartOfPdu makeIsPartOfPdu()
-    {
-        IsPartOfPdu pdu = new IsPartOfPdu()/*
+            .setTransferType(TransferControlTransferType.OTHER)
+     */
+    return (TransferOwnershipPdu) addBoilerPlate(pdu);
+  }
+
+  public IsPartOfPdu makeIsPartOfPdu()
+  {
+    IsPartOfPdu pdu = new IsPartOfPdu()
+      .setPartEntityType(newEntityType())
+      .setOrginatingEntityID(newEntityID())
+      .setReceivingEntityID(newEntityID());
+    /*
             .setNamedLocationID(newNamedLocationIdentification())
-            .setOrginatingEntityID(newEntityID())
-            .setPartEntityType(newEntityType())
             .setPartLocation(new Vector3Float())
-            .setReceivingEntityID(newEntityID())
-            .setRelationship(newRelationship())*/;
-            
-        return (IsPartOfPdu) addBoilerPlate(pdu);
-    }
-
-    public MinefieldStatePdu makeMinefieldStatePdu()
-    {
-        MinefieldStatePdu pdu = new MinefieldStatePdu()/*
+            .setRelationship(newRelationship())
+     */
+    return (IsPartOfPdu) addBoilerPlate(pdu);
+  }
+
+  public MinefieldStatePdu makeMinefieldStatePdu()
+  {
+    MinefieldStatePdu pdu = new MinefieldStatePdu();
+    pdu.setMinefieldType(newEntityType())
+      .setMinefieldID(newMinefieldIdentifier());
+    /*
             .setAppearance(new MinefieldStateAppearanceBitMap())
             .setForceID(ForceID.OTHER)
-            .setMinefieldID(newMinefieldIdentifier())
             .setMinefieldLocation(new Vector3Double())
-            .setMinefieldOrientation(new EulerAngles())
-            .setMinefieldType(newEntityType())
-            .setProtocolMode(new ProtocolMode())*/;
-
-        return (MinefieldStatePdu) addBoilerPlate(pdu);
-    }
-
-    public MinefieldQueryPdu makeMinefieldQueryPdu()
-    {
-        MinefieldQueryPdu pdu = new MinefieldQueryPdu()/*
+            .setMinefieldOrientation(new EulerAngles())         
+            .setProtocolMode(new ProtocolMode())
+     */
+    return (MinefieldStatePdu) addBoilerPlate(pdu);
+  }
+
+  public MinefieldQueryPdu makeMinefieldQueryPdu()
+  {
+    MinefieldQueryPdu pdu = new MinefieldQueryPdu()
+      .setRequestedMineType(newEntityType())
+      .setRequestingEntityID(newEntityID())
+      .setMinefieldID(newMinefieldIdentifier());
+    /*
             .setDataFilter(new DataFilterRecord())
-            .setMinefieldID(newMinefieldIdentifier())
-            .setRequestedMineType(newEntityType())
-            .setRequestingEntityID(newEntityID())*/;
-
-        return (MinefieldQueryPdu) addBoilerPlate(pdu);
-    }
-
-    public MinefieldDataPdu makeMinefieldDataPdu()
-    {
-        MinefieldDataPdu pdu = new MinefieldDataPdu()/*
+     */
+    return (MinefieldQueryPdu) addBoilerPlate(pdu);
+  }
+
+  public MinefieldDataPdu makeMinefieldDataPdu()
+  {
+    MinefieldDataPdu pdu = new MinefieldDataPdu()
+      .setMineType(newEntityType())
+      .setMinefieldID(newMinefieldIdentifier())
+      .setRequestingEntityID(newSimulationIdentifier());
+    /*
             .setDataFilter(new DataFilterRecord())
-            .setMineType(newEntityType())
-            .setMinefieldID(newMinefieldIdentifier())
-            .setRequestingEntityID(newSimulationIdentifier())
             .setNumberOfMinesInThisPdu((byte)1);
             pdu.getFusing().add(new MinefieldDataFusing());
-            pdu.getPaintScheme().add(new MinefieldDataPaintScheme())*/;
-
-        return (MinefieldDataPdu) addBoilerPlate(pdu);
-    }
-
-    public MinefieldResponseNackPdu makeMinefieldResponseNackPdu()
-    {
-        MinefieldResponseNackPdu pdu = new MinefieldResponseNackPdu();
-
-        return (MinefieldResponseNackPdu) addBoilerPlate(pdu);
-    }
-
-    public EnvironmentalProcessPdu makeEnvironmentalProcessPdu()
-    {
-        EnvironmentalProcessPdu pdu = new EnvironmentalProcessPdu()/*
-            .setEnvironementalProcessID(newObjectIdentifier())
+            pdu.getPaintScheme().add(new MinefieldDataPaintScheme())
+     */
+    return (MinefieldDataPdu) addBoilerPlate(pdu);
+  }
+
+  public MinefieldResponseNackPdu makeMinefieldResponseNackPdu()
+  {
+    MinefieldResponseNackPdu pdu = new MinefieldResponseNackPdu();
+
+    return (MinefieldResponseNackPdu) addBoilerPlate(pdu);
+  }
+
+  public EnvironmentalProcessPdu makeEnvironmentalProcessPdu()
+  {
+    EnvironmentalProcessPdu pdu = new EnvironmentalProcessPdu()
+      .setEnvironementalProcessID(newObjectIdentifier())
+      .setEnvironmentType(newEntityType());
+    /*
             .setEnvironmentStatus(new EnvironmentalProcessEnvironmentStatus(EnvironmentalProcessEnvironmentStatus.IS_ACTIVE,1))
-            .setEnvironmentType(newEntityType())
-            .setModelType(EnvironmentalProcessModelType.NO_STATEMENT)*/;
-            
-        return (EnvironmentalProcessPdu) addBoilerPlate(pdu);
-    }
-
-    public GriddedDataPdu makeGriddedDataPdu()
-    {
-        GriddedDataPdu pdu = new GriddedDataPdu()/*
+            .setModelType(EnvironmentalProcessModelType.NO_STATEMENT)
+     */
+    return (EnvironmentalProcessPdu) addBoilerPlate(pdu);
+  }
+
+  public GriddedDataPdu makeGriddedDataPdu()
+  {
+    GriddedDataPdu pdu = new GriddedDataPdu()
+      .setEnvironmentType(newEntityType());
+    /*
             .setConstantGrid(GriddedDataConstantGrid.CONSTANT_GRID)
             .setCoordinateSystem(GriddedDataCoordinateSystem.LATITUDE_LONGITUDE_DEPTH)
-            .setEnvironmentType(newEntityType())
             .setEnvironmentalSimulationApplicationID(newSimulationIdentifier())
             .setOrientation(new EulerAngles())
-            .setSampleTime(new ClockTime())*/;
-
-        return (GriddedDataPdu) addBoilerPlate(pdu);
-    }
-
-    public PointObjectStatePdu makePointObjectStatePdu()
-    {
-        PointObjectStatePdu pdu = new PointObjectStatePdu()/*
+            .setSampleTime(new ClockTime())
+     */
+    return (GriddedDataPdu) addBoilerPlate(pdu);
+  }
+
+  public PointObjectStatePdu makePointObjectStatePdu()
+  {
+    PointObjectStatePdu pdu = new PointObjectStatePdu()
+      .setObjectID(newEntityID());
+    /*
             .setForceID(ForceID.OTHER)
             .setGenerObjectAppearance(new ObjectStateAppearanceGeneral())
             .setModifications(new ObjectStateModificationPointObject())
-            .setObjectID(newEntityID())
             .setObjectLocation(new Vector3Double())
             .setObjectOrientation(new EulerAngles())
             .setObjectType(newObjectType())
-            .setReceivingID(newSimulationAddress())*/;
-
-        return (PointObjectStatePdu) addBoilerPlate(pdu);
-    }
-
-    public LinearObjectStatePdu makeLinearObjectStatePdu()
-    {
-        LinearObjectStatePdu pdu = new LinearObjectStatePdu()/*
+            .setReceivingID(newSimulationAddress()
+     */
+    return (PointObjectStatePdu) addBoilerPlate(pdu);
+  }
+
+  public LinearObjectStatePdu makeLinearObjectStatePdu()
+  {
+    LinearObjectStatePdu pdu = new LinearObjectStatePdu()
+      .setObjectID(newObjectIdentifier())
+      .setReceivingID(newSimulationAddress())
+      .setReferencedObjectID(newObjectIdentifier())
+      .setRequesterID(newSimulationAddress());
+    /*
             .setForceID(ForceID.OTHER)
-            .setObjectID(newObjectIdentifier())
             .setObjectType(newObjectType())
-            .setReceivingID(newSimulationAddress())
-            .setReferencedObjectID(newObjectIdentifier())
-            .setRequesterID(newSimulationAddress())*/;
-          
-        return (LinearObjectStatePdu) addBoilerPlate(pdu);
-    }
-
-    public ArealObjectStatePdu makeArealObjectStatePdu()
-    {
-        ArealObjectStatePdu pdu = new ArealObjectStatePdu()/*
+     */
+    return (LinearObjectStatePdu) addBoilerPlate(pdu);
+  }
+
+  public ArealObjectStatePdu makeArealObjectStatePdu()
+  {
+    ArealObjectStatePdu pdu = new ArealObjectStatePdu()
+      .setObjectID(newObjectIdentifier());
+    /*
             .setForceID(ForceID.OTHER)
             .setModifications(new ObjectStateModificationArealObject())
-            .setObjectID(newObjectIdentifier())
-            .setObjectType(newObjectType())*/;
-        
-            return (ArealObjectStatePdu) addBoilerPlate(pdu);
-    }
-
-    public TspiPdu makeTspiPdu()
-    {
-        TspiPdu pdu = new TspiPdu()/*
+            .setObjectType(newObjectType())
+     */
+    return (ArealObjectStatePdu) addBoilerPlate(pdu);
+  }
+
+  public TspiPdu makeTspiPdu()
+  {
+    TspiPdu pdu = new TspiPdu()
+      .setLiveEntityId(newEntityID());
+    /*
             .setDeadReckoningParameters(newLiveDeadReckoningParameters())
             .setEntityLinearVelocity(new LiveEntityLinearVelocity())
             .setEntityLocation(new LiveEntityRelativeWorldCoordinates())
             .setEntityOrientation(new LiveEntityOrientation())
-            .setLiveEntityId(newEntityID())
             .setOrientationError(new LiveEntityOrientationError())
             .setPositionError(new LiveEntityPositionError())*/;
-        
-        pdu.setSubprotocolNumber(DISLiveEntitySubprotocolNumber.NO_SUBPROTOCOL);
-        
-        return (TspiPdu) addBoilerPlate(pdu);
-    }
-
-    public AppearancePdu makeAppearancePdu()
-    {
-        AppearancePdu pdu = new AppearancePdu()/*
+    pdu.setSubprotocolNumber(DISLiveEntitySubprotocolNumber.NO_SUBPROTOCOL);
+    return (TspiPdu) addBoilerPlate(pdu);
+  }
+
+  public AppearancePdu makeAppearancePdu()
+  {
+    AppearancePdu pdu = new AppearancePdu()
+      .setEntityType(newEntityType())
+      .setAlternateEntityType(newEntityType())
+      .setLiveEntityId(new EntityID());
+    /*
             .setCapabilities(new SurfacePlatformCapabilities())
-            .setEntityType(newEntityType())
-            .setAlternateEntityType(newEntityType())
             .setAppearanceFields(new Appearance())
             .setEntityMarking(newEntityMarking())
-            .setLiveEntityId(new EntityID())            
             .setForceId(ForceID.OTHER)*/;
-        pdu.setSubprotocolNumber(DISLiveEntitySubprotocolNumber.NO_SUBPROTOCOL);
-
-        return (AppearancePdu) addBoilerPlate(pdu);
-    }
-
-    public ArticulatedPartsPdu makeArticulatedPartsPdu()
-    {
-        ArticulatedPartsPdu pdu = new ArticulatedPartsPdu()/*
-            .setLiveEntityId(new EntityID())*/;
-        pdu.setSubprotocolNumber(DISLiveEntitySubprotocolNumber.NO_SUBPROTOCOL);        
-        return (ArticulatedPartsPdu) addBoilerPlate(pdu);
-    }
-
-    public LEFirePdu makeLEFirePdu()
-    {
-        LEFirePdu pdu = new LEFirePdu()/*
-            .setEventId(newEventIdentifier())
-            .setFiringLiveEntityId(newEntityID())
+    pdu.setSubprotocolNumber(DISLiveEntitySubprotocolNumber.NO_SUBPROTOCOL);
+    return (AppearancePdu) addBoilerPlate(pdu);
+  }
+
+  public ArticulatedPartsPdu makeArticulatedPartsPdu()
+  {
+    ArticulatedPartsPdu pdu = new ArticulatedPartsPdu()
+      .setLiveEntityId(new EntityID());
+    pdu.setSubprotocolNumber(DISLiveEntitySubprotocolNumber.NO_SUBPROTOCOL);
+    return (ArticulatedPartsPdu) addBoilerPlate(pdu);
+  }
+
+  public LEFirePdu makeLEFirePdu()
+  {
+    LEFirePdu pdu = new LEFirePdu()
+      .setEventId(newEventIdentifier())
+      .setFiringLiveEntityId(newEntityID())
+      .setMunitionLiveEntityId(newEntityID())
+      .setTargetLiveEntityId(newEntityID())
+      .setMunitionDescriptor(newMunitionDescriptor());
+    /*
             .setLocation(new LiveEntityRelativeWorldCoordinates())
-            .setMunitionDescriptor(newMunitionDescriptor())
-            .setMunitionLiveEntityId(newEntityID())
-            .setTargetLiveEntityId(newEntityID())
-            .setVelocity(new LiveEntityLinearVelocity())*/;
-
-        pdu.setSubprotocolNumber(DISLiveEntitySubprotocolNumber.NO_SUBPROTOCOL);
-
-        return (LEFirePdu) addBoilerPlate(pdu);
-    }
-
-    public LEDetonationPdu makeLEDetonationPdu()
-    {
-        LEDetonationPdu pdu = new LEDetonationPdu()/*
+            .setVelocity(new LiveEntityLinearVelocity())
+     */
+    pdu.setSubprotocolNumber(DISLiveEntitySubprotocolNumber.NO_SUBPROTOCOL);
+    return (LEFirePdu) addBoilerPlate(pdu);
+  }
+
+  public LEDetonationPdu makeLEDetonationPdu()
+  {
+    LEDetonationPdu pdu = new LEDetonationPdu()
+      .setEventId(newEventIdentifier())
+      .setFiringLiveEntityId(newEntityID())
+      .setMunitionLiveEntityId(newEntityID())
+      .setTargetLiveEntityId(newEntityID())
+      .setMunitionDescriptor(newMunitionDescriptor());
+    /*
             .setEntityLocation(new LiveEntityLinearVelocity())
-            .setEventId(newEventIdentifier())
-            .setFiringLiveEntityId(newEntityID())
-            .setMunitionDescriptor(newMunitionDescriptor())
-            .setMunitionLiveEntityId(newEntityID())
             .setMunitionOrientation(new LiveEntityOrientation16())
-            .setTargetLiveEntityId(newEntityID())
             .setVelocity(new LiveEntityLinearVelocity())
-            .setWorldLocation(new LiveEntityRelativeWorldCoordinates())*/;
+            .setWorldLocation(new LiveEntityRelativeWorldCoordinates())
+     */
+    pdu.setSubprotocolNumber(DISLiveEntitySubprotocolNumber.NO_SUBPROTOCOL);
+    return (LEDetonationPdu) addBoilerPlate(pdu);
+  }
+
+  public CreateEntityReliablePdu makeCreateEntityReliablePdu()
+  {
+    CreateEntityReliablePdu pdu = new CreateEntityReliablePdu();
+    /*
+            .setRequiredReliabilityService(RequiredReliabilityService.ACKNOWLEDGED);
+     */
+    pdu.setOriginatingID(newSimulationIdentifier())
+      .setReceivingID(newSimulationIdentifier());
+    return (CreateEntityReliablePdu) addBoilerPlate(pdu);
+  }
+
+  public RemoveEntityReliablePdu makeRemoveEntityReliablePdu()
+  {
+    RemoveEntityReliablePdu pdu = new RemoveEntityReliablePdu();
+    /*
+            .setRequiredReliabilityService(RequiredReliabilityService.ACKNOWLEDGED)
+     */
+    return (RemoveEntityReliablePdu) addBoilerPlate(pdu);
+  }
 
-        pdu.setSubprotocolNumber(DISLiveEntitySubprotocolNumber.NO_SUBPROTOCOL);
-        
-        return (LEDetonationPdu) addBoilerPlate(pdu);
-    }
+  public StartResumeReliablePdu makeStartResumeReliablePdu()
+  {
+    StartResumeReliablePdu pdu = new StartResumeReliablePdu();
+    /*
+            .setRealWorldTime(new ClockTime())
+            .setRequiredReliabilityService(RequiredReliabilityService.ACKNOWLEDGED)
+            .setSimulationTime(new ClockTime())
+     */
+    return (StartResumeReliablePdu) addBoilerPlate(pdu);
+  }
 
-    public CreateEntityReliablePdu makeCreateEntityReliablePdu()
-    {
-        CreateEntityReliablePdu pdu = new CreateEntityReliablePdu() /*
+  public StopFreezeReliablePdu makeStopFreezeReliablePdu()
+  {
+    StopFreezeReliablePdu pdu = new StopFreezeReliablePdu();
+    /*
+            .setFrozenBehavior(new StopFreezeFrozenBehavior())
+            .setRealWorldTime(new ClockTime())
+            .setReason(StopFreezeReason.OTHER)
+            .setRequiredReliablityService(RequiredReliabilityService.ACKNOWLEDGED)
+     */
+    return (StopFreezeReliablePdu) addBoilerPlate(pdu);
+  }
+
+  public AcknowledgeReliablePdu makeAcknowledgeReliablePdu()
+  {
+    AcknowledgeReliablePdu pdu = new AcknowledgeReliablePdu();
+    pdu.setOriginatingID(newSimulationIdentifier());
+    /*
+            .setAcknowledgeFlag(AcknowledgeAcknowledgeFlag.CREATE_ENTITY)
+            .setResponseFlag(AcknowledgeResponseFlag.OTHER);
+            .setPduStatus((byte)0)
+     */
+    return (AcknowledgeReliablePdu) addBoilerPlate(pdu);
+  }
+
+  public ActionRequestReliablePdu makeActionRequestReliablePdu()
+  {
+    ActionRequestReliablePdu pdu = new ActionRequestReliablePdu();
+    /*
+            .setActionID(ActionRequestActionID.OTHER)
+            .setRequiredReliabilityService(RequiredReliabilityService.ACKNOWLEDGED)
+     */
+    return (ActionRequestReliablePdu) addBoilerPlate(pdu);
+  }
+
+  public ActionResponseReliablePdu makeActionResponseReliablePdu()
+  {
+    ActionResponseReliablePdu pdu = new ActionResponseReliablePdu();
+    /*
+            .setResponseStatus(ActionResponseRequestStatus.OTHER)
+     */
+    return (ActionResponseReliablePdu) addBoilerPlate(pdu);
+  }
+
+  public DataQueryReliablePdu makeDataQueryReliablePdu()
+  {
+    DataQueryReliablePdu pdu = new DataQueryReliablePdu();
+    pdu.setOriginatingID(new SimulationIdentifier());
+    pdu.setReceivingID(newSimulationIdentifier());
+    /*
             .setRequiredReliabilityService(RequiredReliabilityService.ACKNOWLEDGED);
-        
-            pdu.setOriginatingID(newSimulationIdentifier())
-                .setReceivingID(newSimulationIdentifier())*/;
-        
-        return (CreateEntityReliablePdu) addBoilerPlate(pdu);
-    }
+     */
+    return (DataQueryReliablePdu) addBoilerPlate(pdu);
+  }
+
+  public SetDataReliablePdu makeSetDataReliablePdu()
+  {
+    SetDataReliablePdu pdu = new SetDataReliablePdu();
+    pdu.setReceivingID(newSimulationIdentifier());
+    pdu.setOriginatingID(newSimulationIdentifier());
+    /*
+            .setRequiredReliabilityService(RequiredReliabilityService.ACKNOWLEDGED);
+     */
+    return (SetDataReliablePdu) addBoilerPlate(pdu);
+  }
+
+  public DataReliablePdu makeDataReliablePdu()
+  {
+    DataReliablePdu pdu = new DataReliablePdu();
+    pdu.setOriginatingID(newSimulationIdentifier());
+    pdu.setReceivingID(newSimulationIdentifier());
+    /*
+            .setRequiredReliabilityService(RequiredReliabilityService.ACKNOWLEDGED);
+     */
+    return (DataReliablePdu) addBoilerPlate(pdu);
+  }
+
+  public EventReportReliablePdu makeEventReportReliablePdu()
+  {
+    EventReportReliablePdu pdu = new EventReportReliablePdu();
+    /*
+            .setEventType(EventReportEventType.OTHER)
+     */
+    return (EventReportReliablePdu) addBoilerPlate(pdu);
+  }
 
-    public RemoveEntityReliablePdu makeRemoveEntityReliablePdu()
-    {
-        RemoveEntityReliablePdu pdu = new RemoveEntityReliablePdu()/*
-            .setRequiredReliabilityService(RequiredReliabilityService.ACKNOWLEDGED)*/;
+  public CommentReliablePdu makeCommentReliablePdu()
+  {
+    CommentReliablePdu pdu = new CommentReliablePdu();
 
-        return (RemoveEntityReliablePdu) addBoilerPlate(pdu);
-    }
+    return (CommentReliablePdu) addBoilerPlate(pdu);
+  }
 
-    public StartResumeReliablePdu makeStartResumeReliablePdu()
-    {
-        StartResumeReliablePdu pdu = new StartResumeReliablePdu()/*
-            .setRealWorldTime(new ClockTime())
+  public RecordReliablePdu makeRecordReliablePdu()
+  {
+    RecordReliablePdu pdu = new RecordReliablePdu();
+    /*
+            .setEventType(RecordREventType.OTHER)
             .setRequiredReliabilityService(RequiredReliabilityService.ACKNOWLEDGED)
-            .setSimulationTime(new ClockTime())*/;
+     */
+    return (RecordReliablePdu) addBoilerPlate(pdu);
+  }
 
-        return (StartResumeReliablePdu) addBoilerPlate(pdu);
-    }
+  public SetRecordReliablePdu makeSetRecordReliablePdu()
+  {
+    SetRecordReliablePdu pdu = new SetRecordReliablePdu();
+    /*
+            .setRequiredReliabilityService(RequiredReliabilityService.ACKNOWLEDGED)
+     */
+    return (SetRecordReliablePdu) addBoilerPlate(pdu);
+  }
 
-    public StopFreezeReliablePdu makeStopFreezeReliablePdu()
-    {
-        StopFreezeReliablePdu pdu = new StopFreezeReliablePdu()/*
-            .setFrozenBehavior(new StopFreezeFrozenBehavior())
-            .setRealWorldTime(new ClockTime())
-            .setReason(StopFreezeReason.OTHER)
-            .setRequiredReliablityService(RequiredReliabilityService.ACKNOWLEDGED)*/;
+  public RecordQueryReliablePdu makeRecordQueryReliablePdu()
+  {
+    RecordQueryReliablePdu pdu = new RecordQueryReliablePdu();
+    /*
+            .setEventType(RecordQueryREventType.PERIODIC)
+            .setRequiredReliabilityService(RequiredReliabilityService.ACKNOWLEDGED)
+     */
+    return (RecordQueryReliablePdu) addBoilerPlate(pdu);
+  }
+
+  public CollisionElasticPdu makeCollisionElasticPdu()
+  {
+    CollisionElasticPdu pdu = new CollisionElasticPdu();
+    return (CollisionElasticPdu) addBoilerPlate(pdu);
+  }
+
+  public EntityStateUpdatePdu makeEntityStateUpdatePdu()
+  {
+    EntityStateUpdatePdu pdu = new EntityStateUpdatePdu()
+      .setEntityID(newEntityID());
+    /*
+            .setEntityLinearVelocity(new Vector3Float())
+            .setEntityLocation(new Vector3Double())
+            .setEntityOrientation(new EulerAngles())
+     */
+    return (EntityStateUpdatePdu) addBoilerPlate(pdu);
+  }
+
+  public DirectedEnergyFirePdu makeDirectedEnergyFirePdu()
+  {
+    DirectedEnergyFirePdu pdu = new DirectedEnergyFirePdu()
+      .setEventID(newEventIdentifier())
+      .setFiringEntityID(newEntityID())
+      .setMunitionType(newEntityType());
+    /*
+            .setApertureEmitterLocation(new Vector3Float())
+            .setFlags(new DEFireFlags(DEFireFlags.WEAPON_ON,1))
+            .setPulseShape(DEFirePulseShape.OTHER)
+     */
+    return (DirectedEnergyFirePdu) addBoilerPlate(pdu);
+  }
+
+  public EntityDamageStatusPdu makeEntityDamageStatusPdu()
+  {
+    EntityDamageStatusPdu pdu = new EntityDamageStatusPdu();
+    return (EntityDamageStatusPdu) addBoilerPlate(pdu);
+  }
+
+  public InformationOperationsActionPdu makeInformationOperationsActionPdu()
+  {
+    InformationOperationsActionPdu pdu = new InformationOperationsActionPdu()
+      .setIoAttackerID(newEntityID())
+      .setIoPrimaryTargetID(newEntityID())
+      .setReceivingSimID(newEntityID());
+    /*
+            .setIOActionPhase(IOActionIOActionPhase.NO_STATEMENT)
+            .setIOActionType(IOActionIOActionType.NO_STATEMENT)
+            .setIOSimulationSource(IOActionIOSimulationSource.NO_STATEMENT)
+            .setIOWarfareType(IOActionIOWarfareType.NO_STATEMENT)
+     */
+    return (InformationOperationsActionPdu) addBoilerPlate(pdu);
+  }
+
+  public InformationOperationsReportPdu makeInformationOperationsReportPdu()
+  {
+    InformationOperationsReportPdu pdu = new InformationOperationsReportPdu()
+      .setIoAttackerID(newEntityID())
+      .setIoPrimaryTargetID(newEntityID());
+    /*
+            .setIoReportType(IOReportIOReportType.NO_STATEMENT)
+            .setIoSimSource(IOActionIOSimulationSource.NO_STATEMENT)
+            .setPadding1((byte)0)
+     */
 
-        return (StopFreezeReliablePdu) addBoilerPlate(pdu);
-    }
+    return (InformationOperationsReportPdu) addBoilerPlate(pdu);
+  }
 
-    public AcknowledgeReliablePdu makeAcknowledgeReliablePdu()
-    {
-        AcknowledgeReliablePdu pdu = new AcknowledgeReliablePdu() /*
-        .setAcknowledgeFlag(AcknowledgeAcknowledgeFlag.CREATE_ENTITY)
-        .setResponseFlag(AcknowledgeResponseFlag.OTHER);
-        
-        pdu.setOriginatingID(newSimulationIdentifier())
-        .setPduStatus((byte)0)*/;
-        
-        return (AcknowledgeReliablePdu) addBoilerPlate(pdu);
-    }
+  public AttributePdu makeAttributePdu()
+  {
+    AttributePdu pdu = new AttributePdu()
+      .setOriginatingSimulationAddress(newSimulationAddress());
+    /*
+            .setActionCode(DISAttributeActionCode.NO_STATEMENT)
+            .setAttributeRecordPduType(DISPDUType.OTHER)
+            .setAttributeRecordProtocolVersion(DISProtocolFamily.OTHER)
+            .setMasterAttributeRecordType(VariableRecordTypes.OTHER)
+     */
 
-    public ActionRequestReliablePdu makeActionRequestReliablePdu()
-    {
-        ActionRequestReliablePdu pdu = new ActionRequestReliablePdu()/*
-            .setActionID(ActionRequestActionID.OTHER)
-            .setRequiredReliabilityService(RequiredReliabilityService.ACKNOWLEDGED)*/;
-        return (ActionRequestReliablePdu) addBoilerPlate(pdu);
-    }
+    return (AttributePdu) addBoilerPlate(pdu);
+  }
+
+  /**
+   * PDU factory. Pass in an array of bytes, get the correct type of pdu back,
+   * based on the PDU type field contained in the byte array.
+   *
+   * @param data
+   * @return A PDU of the appropriate concrete subclass of PDU
+   */
+  public Pdu createPdu(byte data[])
+  {
+    return createPdu(ByteBuffer.wrap(data));
+  }
+
+  /**
+   * PDU factory. Pass in an array of bytes, get the correct type of pdu back,
+   * based on the PDU type field contained in the byte buffer.
+   *
+   * @param buff
+   * @return null if there was an error creating the Pdu
+   */
+  public Pdu createPdu(java.nio.ByteBuffer buff)
+  {
+
+    int pos = buff.position();          // Save buffer's position
+    if (pos + 2 > buff.limit()) {       // Make sure there's enough space in buffer
+      return null;                    // Else return null
+    }   // end if: buffer too short
+    buff.position(pos + 2);             // Advance to third byte
+    final int pduIdx = Byte.toUnsignedInt(buff.get());    // Read Pdu type
+    buff.position(pos);                 // Reset buffer
+
+    DISPDUType pduType = DISPDUType.getEnumForValue(pduIdx);
+    return createPdu(pduType, buff);
+  }
+
+  public Pdu createPdu(DISPDUType pduType)
+  {
+    return createPdu(pduType, null);
+  }
+
+  private Pdu createPdu(DISPDUType pduType, ByteBuffer buff)
+  {
+    Pdu aPdu = null;
+    switch (pduType) {
+      // NOTE: 'OTHER' is a valid pduTypeEnum, but has no corresponding object
+      case ENTITY_STATE:
+        // if the user has created the factory requesting that he get fast espdus back, give him those.
+        if (useFastPdu) {
+          aPdu = new FastEntityStatePdu();
+        }
+        else {
+          aPdu = new EntityStatePdu();
+        }
+        break;
 
-    public ActionResponseReliablePdu makeActionResponseReliablePdu()
-    {
-        ActionResponseReliablePdu pdu = new ActionResponseReliablePdu()/*
-            .setResponseStatus(ActionResponseRequestStatus.OTHER)*/;
-        return (ActionResponseReliablePdu) addBoilerPlate(pdu);
-    }
+      case FIRE:
+        aPdu = new FirePdu();
+        break;
 
-    public DataQueryReliablePdu makeDataQueryReliablePdu()
-    {
-        DataQueryReliablePdu pdu = new DataQueryReliablePdu()/*
-            .setRequiredReliabilityService(RequiredReliabilityService.ACKNOWLEDGED);
-        
-        pdu.setReceivingID(newSimulationIdentifier())
-            .setOriginatingID(new SimulationIdentifier()) */;
-        return (DataQueryReliablePdu) addBoilerPlate(pdu);
-    }
+      case DETONATION:
+        aPdu = new DetonationPdu();
+        break;
 
-    public SetDataReliablePdu makeSetDataReliablePdu()
-    {
-        SetDataReliablePdu pdu = new SetDataReliablePdu() /*
-            .setRequiredReliabilityService(RequiredReliabilityService.ACKNOWLEDGED);
-        pdu.setReceivingID(newSimulationIdentifier())
-            .setOriginatingID(newSimulationIdentifier())*/;        
-        return (SetDataReliablePdu) addBoilerPlate(pdu);
-    }
+      case COLLISION:
+        aPdu = new CollisionPdu();
+        break;
 
-    public DataReliablePdu makeDataReliablePdu()
-    {
-        DataReliablePdu pdu = new DataReliablePdu() /*
-            .setRequiredReliabilityService(RequiredReliabilityService.ACKNOWLEDGED);
-        
-        pdu.setOriginatingID(newSimulationIdentifier())
-           .setReceivingID(newSimulationIdentifier())*/;
-        return (DataReliablePdu) addBoilerPlate(pdu);
-    }
+      case SERVICE_REQUEST:
+        aPdu = new ServiceRequestPdu();
+        break;
 
-    public EventReportReliablePdu makeEventReportReliablePdu()
-    {
-        EventReportReliablePdu pdu = new EventReportReliablePdu()/*
-            .setEventType(EventReportEventType.OTHER)*/;
+      case RESUPPLY_OFFER:
+        aPdu = new ResupplyOfferPdu();
+        break;
 
-        return (EventReportReliablePdu) addBoilerPlate(pdu);
-    }
+      case RESUPPLY_RECEIVED:
+        aPdu = new ResupplyReceivedPdu();
+        break;
 
-    public CommentReliablePdu makeCommentReliablePdu()
-    {
-        CommentReliablePdu pdu = new CommentReliablePdu();
+      case RESUPPLY_CANCEL:
+        aPdu = new ResupplyCancelPdu();
+        break;
 
-        return (CommentReliablePdu) addBoilerPlate(pdu);
-    }
+      case REPAIR_COMPLETE:
+        aPdu = new RepairCompletePdu();
+        break;
 
-    public RecordReliablePdu makeRecordReliablePdu()
-    {
-        RecordReliablePdu pdu = new RecordReliablePdu()/*
-            .setEventType(RecordREventType.OTHER)
-            .setRequiredReliabilityService(RequiredReliabilityService.ACKNOWLEDGED)*/;
+      case REPAIR_RESPONSE:
+        aPdu = new RepairResponsePdu();
+        break;
 
-        return (RecordReliablePdu) addBoilerPlate(pdu);
-    }
+      case CREATE_ENTITY:
+        aPdu = new CreateEntityPdu();
+        break;
 
-    public SetRecordReliablePdu makeSetRecordReliablePdu()
-    {
-        SetRecordReliablePdu pdu = new SetRecordReliablePdu()/*
-            .setRequiredReliabilityService(RequiredReliabilityService.ACKNOWLEDGED)*/;
+      case REMOVE_ENTITY:
+        aPdu = new RemoveEntityPdu();
+        break;
 
-        return (SetRecordReliablePdu) addBoilerPlate(pdu);
-    }
+      case START_RESUME:
+        aPdu = new StartResumePdu();
+        break;
 
-    public RecordQueryReliablePdu makeRecordQueryReliablePdu()
-    {
-        RecordQueryReliablePdu pdu = new RecordQueryReliablePdu() /*
-            .setEventType(RecordQueryREventType.PERIODIC)
-            .setRequiredReliabilityService(RequiredReliabilityService.ACKNOWLEDGED)*/;
+      case STOP_FREEZE:
+        aPdu = new StopFreezePdu();
+        break;
 
-        return (RecordQueryReliablePdu) addBoilerPlate(pdu);
-    }
+      case ACKNOWLEDGE:
+        aPdu = new AcknowledgePdu();
+        break;
 
-    public CollisionElasticPdu makeCollisionElasticPdu()
-    {
-        CollisionElasticPdu pdu = new CollisionElasticPdu();
+      case ACTION_REQUEST:
+        aPdu = new ActionRequestPdu();
+        break;
 
-        return (CollisionElasticPdu) addBoilerPlate(pdu);
-    }
+      case ACTION_RESPONSE:
+        aPdu = new ActionResponsePdu();
+        break;
 
-    public EntityStateUpdatePdu makeEntityStateUpdatePdu()
-    {
-        EntityStateUpdatePdu pdu = new EntityStateUpdatePdu() /*
-            .setEntityID(newEntityID())
-            .setEntityLinearVelocity(new Vector3Float())
-            .setEntityLocation(new Vector3Double())
-            .setEntityOrientation(new EulerAngles()) */;
+      case DATA_QUERY:
+        aPdu = new DataQueryPdu();
+        break;
 
-        return (EntityStateUpdatePdu) addBoilerPlate(pdu);
-    }
+      case SET_DATA:
+        aPdu = new SetDataPdu();
+        break;
 
-    public DirectedEnergyFirePdu makeDirectedEnergyFirePdu()
-    {
-        DirectedEnergyFirePdu pdu = new DirectedEnergyFirePdu() /*
-            .setApertureEmitterLocation(new Vector3Float())
-            .setEventID(newEventIdentifier())
-            .setFiringEntityID(newEntityID())
-            .setFlags(new DEFireFlags(DEFireFlags.WEAPON_ON,1))
-            .setMunitionType(newEntityType())
-            .setPulseShape(DEFirePulseShape.OTHER) */;
-            
-        return (DirectedEnergyFirePdu) addBoilerPlate(pdu);
-    }
+      case DATA:
+        aPdu = new DataPdu();
+        break;
 
-    public EntityDamageStatusPdu makeEntityDamageStatusPdu()
-    {
-        EntityDamageStatusPdu pdu = new EntityDamageStatusPdu();
+      case EVENT_REPORT:
+        aPdu = new EventReportPdu();
+        break;
 
-        return (EntityDamageStatusPdu) addBoilerPlate(pdu);
-    }
+      case COMMENT:
+        aPdu = new CommentPdu();
+        break;
 
-    public InformationOperationsActionPdu makeInformationOperationsActionPdu()
-    {
-        InformationOperationsActionPdu pdu = new InformationOperationsActionPdu()/*
-            .setIOActionPhase(IOActionIOActionPhase.NO_STATEMENT)
-            .setIOActionType(IOActionIOActionType.NO_STATEMENT)
-            .setIOSimulationSource(IOActionIOSimulationSource.NO_STATEMENT)
-            .setIOWarfareType(IOActionIOWarfareType.NO_STATEMENT)
-            .setIoAttackerID(newEntityID())
-            .setIoPrimaryTargetID(newEntityID())
-            .setReceivingSimID(newEntityID())*/;
+      case ELECTROMAGNETIC_EMISSION:
+        aPdu = new ElectronicEmissionsPdu();
+        break;
 
-        return (InformationOperationsActionPdu) addBoilerPlate(pdu);
-    }
+      case DESIGNATOR:
+        aPdu = new DesignatorPdu();
+        break;
 
-    public InformationOperationsReportPdu makeInformationOperationsReportPdu()
-    {
-        InformationOperationsReportPdu pdu = new InformationOperationsReportPdu()/*
-            .setIoAttackerID(newEntityID())
-            .setIoPrimaryTargetID(newEntityID())
-            .setIoReportType(IOReportIOReportType.NO_STATEMENT)
-            .setIoSimSource(IOActionIOSimulationSource.NO_STATEMENT)
-            .setPadding1((byte)0)*/;
+      case TRANSMITTER:
+        aPdu = new TransmitterPdu();
+        break;
 
-        return (InformationOperationsReportPdu) addBoilerPlate(pdu);
-    }
+      case SIGNAL:
+        aPdu = new SignalPdu();
+        break;
 
-    public AttributePdu makeAttributePdu()
-    {
-        AttributePdu pdu = new AttributePdu()/*
-            .setActionCode(DISAttributeActionCode.NO_STATEMENT)
-            .setAttributeRecordPduType(DISPDUType.OTHER)
-            .setAttributeRecordProtocolVersion(DISProtocolFamily.OTHER)
-            .setMasterAttributeRecordType(VariableRecordTypes.OTHER)
-            .setOriginatingSimulationAddress(newSimulationAddress())*/;
+      case RECEIVER:
+        aPdu = new ReceiverPdu();
+        break;
 
-        return (AttributePdu) addBoilerPlate(pdu);
-    }
+      case IFF:
+        aPdu = new IffPdu();
+        break;
 
-    /**
-     * PDU factory. Pass in an array of bytes, get the correct type of pdu back,
-     * based on the PDU type field contained in the byte array.
-     *
-     * @param data array of bytes
-     * @return A PDU of the appropriate concrete subclass of PDU
-     */
-    public Pdu createPdu(byte data[])
-    {
-        return createPdu(ByteBuffer.wrap(data));
-    }
+      case UNDERWATER_ACOUSTIC:
+        aPdu = new UnderwaterAcousticPdu();
+        break;
 
-    /**
-     * PDU factory. Pass in an array of bytes, get the correct type of pdu back,
-     * based on the PDU type field contained in the byte buffer.
-     *
-     * @param buff array of bytes
-     * @return null if there was an error creating the Pdu
-     */
-    public Pdu createPdu(java.nio.ByteBuffer buff)
-    {
-
-        int pos = buff.position();          // Save buffer's position
-        if (pos + 2 > buff.limit()) {       // Make sure there's enough space in buffer
-            return null;                    // Else return null
-        }   // end if: buffer too short
-        buff.position(pos + 2);             // Advance to third byte
-        final int pduIdx = Byte.toUnsignedInt(buff.get());    // Read Pdu type
-        buff.position(pos);                 // Reset buffer
-
-        Pdu aPdu = null;       
-        
-        DISPDUType pduType = null;
-
-            // Do a lookup to get the enumeration instance that corresponds to this value.
-            pduType = DISPDUType.getEnumForValue(pduIdx);
-
-            switch (pduType) {
-                // NOTE: 'OTHER' is a valid pduTypeEnum, but has no corresponding object
-                case ENTITY_STATE:
-                    // if the user has created the factory requesting that he get fast espdus back, give him those.
-                    if (useFastPdu) {
-                        aPdu = new FastEntityStatePdu();
-                    }
-                    else {
-                        aPdu = new EntityStatePdu();
-                    }
-                    break;
-
-                case FIRE:
-                    aPdu = new FirePdu();
-                    break;
-
-                case DETONATION:
-                    aPdu = new DetonationPdu();
-                    break;
-
-                case COLLISION:
-                    aPdu = new CollisionPdu();
-                    break;
-
-                case SERVICE_REQUEST:
-                    aPdu = new ServiceRequestPdu();
-                    break;
-
-                case RESUPPLY_OFFER:
-                    aPdu = new ResupplyOfferPdu();
-                    break;
-
-                case RESUPPLY_RECEIVED:
-                    aPdu = new ResupplyReceivedPdu();
-                    break;
-
-                case RESUPPLY_CANCEL:
-                    aPdu = new ResupplyCancelPdu();
-                    break;
-
-                case REPAIR_COMPLETE:
-                    aPdu = new RepairCompletePdu();
-                    break;
-
-                case REPAIR_RESPONSE:
-                    aPdu = new RepairResponsePdu();
-                    break;
-
-                case CREATE_ENTITY:
-                    aPdu = new CreateEntityPdu();
-                    break;
-
-                case REMOVE_ENTITY:
-                    aPdu = new RemoveEntityPdu();
-                    break;
-
-                case START_RESUME:
-                    aPdu = new StartResumePdu();
-                    break;
-
-                case STOP_FREEZE:
-                    aPdu = new StopFreezePdu();
-                    break;
-
-                case ACKNOWLEDGE:
-                    aPdu = new AcknowledgePdu();
-                    break;
-
-                case ACTION_REQUEST:
-                    aPdu = new ActionRequestPdu();
-                    break;
-
-                case ACTION_RESPONSE:
-                    aPdu = new ActionResponsePdu();
-                    break;
-
-                case DATA_QUERY:
-                    aPdu = new DataQueryPdu();
-                    break;
-
-                case SET_DATA:
-                    aPdu = new SetDataPdu();
-                    break;
-
-                case DATA:
-                    aPdu = new DataPdu();
-                    break;
-
-                case EVENT_REPORT:
-                    aPdu = new EventReportPdu();
-                    break;
-
-                case COMMENT:
-                    aPdu = new CommentPdu();
-                    break;
-
-                case ELECTROMAGNETIC_EMISSION:
-                    aPdu = new ElectronicEmissionsPdu();
-                    break;
-
-                case DESIGNATOR:
-                    aPdu = new DesignatorPdu();
-                    break;
-
-                case TRANSMITTER:
-                    aPdu = new TransmitterPdu();
-                    break;
-
-                case SIGNAL:
-                    aPdu = new SignalPdu();
-                    break;
+      case SUPPLEMENTAL_EMISSION_ENTITY_STATE:
+        aPdu = new SeesPdu();
+        break;
 
-                case RECEIVER:
-                    aPdu = new ReceiverPdu();
-                    break;
+      case INTERCOM_SIGNAL:
+        aPdu = new IntercomSignalPdu();
+        break;
 
-                case IFF:
-                    aPdu = new IffPdu();
-                    break;
-                    
-                case UNDERWATER_ACOUSTIC:
-                    aPdu = new UnderwaterAcousticPdu();
-                    break;
+      case INTERCOM_CONTROL:
+        aPdu = new IntercomControlPdu();
+        break;
 
-                case SUPPLEMENTAL_EMISSION_ENTITY_STATE:
-                    aPdu = new SeesPdu();
-                    break;
+      case AGGREGATE_STATE:
+        aPdu = new AggregateStatePdu();
+        break;
 
-                case INTERCOM_SIGNAL:
-                    aPdu = new IntercomSignalPdu();
-                    break;
+      case ISGROUPOF:
+        aPdu = new IsGroupOfPdu();
+        break;
 
-                case INTERCOM_CONTROL:
-                    aPdu = new IntercomControlPdu();
-                    break;
+      case TRANSFER_OWNERSHIP:
+        aPdu = new TransferOwnershipPdu();
+        break;
 
-                case AGGREGATE_STATE:
-                    aPdu = new AggregateStatePdu();
-                    break;
+      case ISPARTOF:
+        aPdu = new IsPartOfPdu();
+        break;
 
-                case ISGROUPOF:
-                    aPdu = new IsGroupOfPdu();
-                    break;
+      case MINEFIELD_STATE:
+        aPdu = new MinefieldStatePdu();
+        break;
 
-                case TRANSFER_OWNERSHIP:
-                    aPdu = new TransferOwnershipPdu();
-                    break;
+      case MINEFIELD_QUERY:
+        aPdu = new MinefieldQueryPdu();
+        break;
 
-                case ISPARTOF:
-                    aPdu = new IsPartOfPdu();
-                    break;
+      case MINEFIELD_DATA:
+        aPdu = new MinefieldDataPdu();
+        break;
 
-                case MINEFIELD_STATE:
-                    aPdu = new MinefieldStatePdu();
-                    break;
+      case MINEFIELD_RESPONSE_NACK:
+        aPdu = new MinefieldResponseNackPdu();
+        break;
 
-                case MINEFIELD_QUERY:
-                    aPdu = new MinefieldQueryPdu();
-                    break;
-
-                case MINEFIELD_DATA:
-                    aPdu = new MinefieldDataPdu();
-                    break;
-
-                case MINEFIELD_RESPONSE_NACK:
-                    aPdu = new MinefieldResponseNackPdu();
-                    break;
-
-                case ENVIRONMENTAL_PROCESS:
-                    aPdu = new EnvironmentalProcessPdu();
-                    break;
-
-                case GRIDDED_DATA:
-                    aPdu = new GriddedDataPdu();
-                    break;
-
-                case POINT_OBJECT_STATE:
-                    aPdu = new PointObjectStatePdu();
-                    break;
-
-                case LINEAR_OBJECT_STATE:
-                    aPdu = new LinearObjectStatePdu();
-                    break;
-
-                case AREAL_OBJECT_STATE:
-                    aPdu = new ArealObjectStatePdu();
-                    break;
-
-                case TSPI:
-                    aPdu = new TspiPdu();
-                    break;
-
-                case APPEARANCE:
-                    aPdu = new AppearancePdu();
-                    break;
-
-                case ARTICULATED_PARTS:
-                    aPdu = new ArticulatedPartsPdu();
-                    break;
-
-                case LE_FIRE:
-                    aPdu = new LEFirePdu();
-                    break;
-
-                case LE_DETONATION:
-                    aPdu = new LEDetonationPdu();
-                    break;
-
-                case CREATE_ENTITY_R:
-                    aPdu = new CreateEntityReliablePdu();
-                    break;
-
-                case REMOVE_ENTITY_R:
-                    aPdu = new RemoveEntityReliablePdu();
-                    break;
-
-                case START_RESUME_R:
-                    aPdu = new StartResumeReliablePdu();
-                    break;
-
-                case STOP_FREEZE_R:
-                    aPdu = new StopFreezeReliablePdu();
-                    break;
-
-                case ACKNOWLEDGE_R:
-                    aPdu = new AcknowledgeReliablePdu();
-                    break;
-
-                case ACTION_REQUEST_R:
-                    aPdu = new ActionRequestReliablePdu();
-                    break;
-
-                case ACTION_RESPONSE_R:
-                    aPdu = new ActionResponseReliablePdu();
-                    break;
-
-                case DATA_QUERY_R:
-                    aPdu = new DataQueryReliablePdu();
-                    break;
-
-                case SET_DATA_R:
-                    aPdu = new SetDataReliablePdu();
-                    break;
-
-                case DATA_R:
-                    aPdu = new DataReliablePdu();
-                    break;
-
-                case EVENT_REPORT_R:
-                    aPdu = new EventReportReliablePdu();
-                    break;
-
-                case COMMENT_R:
-                    aPdu = new CommentReliablePdu();
-                    break;
-
-                case RECORD_R:
-                    aPdu = new RecordReliablePdu();
-                    break;
-                    
-                case SET_RECORD_R:
-                    aPdu = new SetRecordReliablePdu();
-                    break;
-
-                case RECORD_QUERY_R:
-                    aPdu = new RecordQueryReliablePdu();
-                    break;
-
-                case COLLISION_ELASTIC:
-                    aPdu = new CollisionElasticPdu();
-                    break;
-
-                case ENTITY_STATE_UPDATE:
-                    aPdu = new EntityStateUpdatePdu();
-                    break;
-                    
-                case DIRECTED_ENERGY_FIRE:
-                    aPdu = new DirectedEnergyFirePdu();
-                    break;
-
-                case ENTITY_DAMAGE_STATUS:
-                    aPdu = new EntityDamageStatusPdu();
-                    break;
-                    
-                case INFORMATION_OPERATIONS_ACTION:
-                    aPdu = new InformationOperationsActionPdu();
-                    break;
-                    
-                case INFORMATION_OPERATIONS_REPORT:
-                    aPdu = new InformationOperationsReportPdu();
-                    break;
-
-                case ATTRIBUTE:
-                    aPdu = new AttributePdu();
-                    break;
-                    
-                default:
-                    /*
-                        logger.log(Level.INFO, "PDU not implemented. Type = " + pduType + "\n");
-                        if (pduTypeEnum != null) {
-                            logger.log(Level.INFO, "  PDU  name is: " + pduTypeEnum.getDescription());
-                        } 
-                    */
-                    System.out.println("PDU not implemented. Type = " + pduType + "\n");
-                }   // end switch
-            
-
-                if (aPdu != null) {
-                    pos = buff.position();      // Save buffer's position
-                    try {
-                        aPdu.unmarshal(buff);
-                    }
-                    catch(Exception ex) {
-                        System.err.println("error unmarshalling "+pduType);
-                    }
-                    buff.position(pos);         // Reset buffer
-                }      
-       
-        return aPdu;
-    }
+      case ENVIRONMENTAL_PROCESS:
+        aPdu = new EnvironmentalProcessPdu();
+        break;
 
-    /**
-     * Decodes datagram contents with bundled PDUs. As a performance hack DIS
-     * may include several PDUs in one datagram. Typically the max datagram
-     * size is 8K (above that it runs into some issues with the default
-     * incoming socket buffer size) but it may be more. The PDUs may be of
-     * multiple types and different lengths, so we have to step through the
-     * buffer and depend on the reported PDU length in the header. There's
-     * a lot that can go wrong. If something blows up, we return all the decoded
-     * PDUs we can.<p>
-     *
-     * @param data array of bytes
-     * @return List of PDUs decoded
-     */
-    public List<Pdu> getPdusFromBundle(byte data[])
-    {
-        // All the PDUs in this bundle we were able to decode
-        ArrayList<Pdu> pdus = new ArrayList<Pdu>();
-        // The start point of a PDU in the data. We advance this by the size
-        // of each PDU as we read it.
-        int pduStartPointInData = 0;
-
-        while (true) {
-            // This is inefficient, but screw it. Give the GC a workout. Create a new
-            // data array from where the last PDU left off to the end of the original
-            // data array. This lets us reuse a bunch of old code.
-
-            byte remaining[] = Arrays.copyOfRange(data, pduStartPointInData, data.length);
-
-            try {
-                // Decode one PDU
-                Pdu pdu = this.createPdu(remaining);
-
-                // If the read is muffed somehow, give up on decoding the rest of
-                // the data
-                if (pdu == null) {
-                    //System.out.println("Stopped reading bundled PDU due to bad PDU");
-                    break;
-                }
-                else // otherwise add it to the list of PDUs we have decoded from this UDP packet
-                {
-                    pdus.add(pdu);
-                }
-
-                // Advance the index to the start of the next PDU
-                int pduLength = pdu.getMarshalledSize(); //getLength();
-                pduStartPointInData = pduStartPointInData + pduLength;
-
-                //System.out.println("PDUStartPOint:" + pduStartPointInData + " data: " + data.length);
-                // Have we read all the data?
-                if (pduStartPointInData >= data.length) {
-                    //System.out.println("Out of data to read" + pduStartPointInData + " data length:" + data.length);
-                    break;
-                }
-
-            }
-            catch (Exception e) {
-                System.out.println("Problems decoding multiple PDUs in datagram; decoded as may as possible");
-                break;
-            }
-        } // end while
-
-        return pdus;
-    }
+      case GRIDDED_DATA:
+        aPdu = new GriddedDataPdu();
+        break;
+
+      case POINT_OBJECT_STATE:
+        aPdu = new PointObjectStatePdu();
+        break;
+
+      case LINEAR_OBJECT_STATE:
+        aPdu = new LinearObjectStatePdu();
+        break;
+
+      case AREAL_OBJECT_STATE:
+        aPdu = new ArealObjectStatePdu();
+        break;
+
+      case TSPI:
+        aPdu = new TspiPdu();
+        break;
+
+      case APPEARANCE:
+        aPdu = new AppearancePdu();
+        break;
+
+      case ARTICULATED_PARTS:
+        aPdu = new ArticulatedPartsPdu();
+        break;
+
+      case LE_FIRE:
+        aPdu = new LEFirePdu();
+        break;
+
+      case LE_DETONATION:
+        aPdu = new LEDetonationPdu();
+        break;
+
+      case CREATE_ENTITY_R:
+        aPdu = new CreateEntityReliablePdu();
+        break;
+
+      case REMOVE_ENTITY_R:
+        aPdu = new RemoveEntityReliablePdu();
+        break;
+
+      case START_RESUME_R:
+        aPdu = new StartResumeReliablePdu();
+        break;
+
+      case STOP_FREEZE_R:
+        aPdu = new StopFreezeReliablePdu();
+        break;
+
+      case ACKNOWLEDGE_R:
+        aPdu = new AcknowledgeReliablePdu();
+        break;
+
+      case ACTION_REQUEST_R:
+        aPdu = new ActionRequestReliablePdu();
+        break;
+
+      case ACTION_RESPONSE_R:
+        aPdu = new ActionResponseReliablePdu();
+        break;
+
+      case DATA_QUERY_R:
+        aPdu = new DataQueryReliablePdu();
+        break;
+
+      case SET_DATA_R:
+        aPdu = new SetDataReliablePdu();
+        break;
+
+      case DATA_R:
+        aPdu = new DataReliablePdu();
+        break;
+
+      case EVENT_REPORT_R:
+        aPdu = new EventReportReliablePdu();
+        break;
+
+      case COMMENT_R:
+        aPdu = new CommentReliablePdu();
+        break;
+
+      case RECORD_R:
+        aPdu = new RecordReliablePdu();
+        break;
+
+      case SET_RECORD_R:
+        aPdu = new SetRecordReliablePdu();
+        break;
+
+      case RECORD_QUERY_R:
+        aPdu = new RecordQueryReliablePdu();
+        break;
+
+      case COLLISION_ELASTIC:
+        aPdu = new CollisionElasticPdu();
+        break;
+
+      case ENTITY_STATE_UPDATE:
+        aPdu = new EntityStateUpdatePdu();
+        break;
+
+      case DIRECTED_ENERGY_FIRE:
+        aPdu = new DirectedEnergyFirePdu();
+        break;
+
+      case ENTITY_DAMAGE_STATUS:
+        aPdu = new EntityDamageStatusPdu();
+        break;
+
+      case INFORMATION_OPERATIONS_ACTION:
+        aPdu = new InformationOperationsActionPdu();
+        break;
+
+      case INFORMATION_OPERATIONS_REPORT:
+        aPdu = new InformationOperationsReportPdu();
+        break;
+
+      case ATTRIBUTE:
+        aPdu = new AttributePdu();
+        break;
+
+      default:
+        System.out.println("PDU not implemented. Type = " + pduType + "\n");
+    }   // end switch
+
+    if (aPdu != null) {
+      if (buff != null) {
+        int pos = buff.position();      // Save buffer's position
+        try {
+          aPdu.unmarshal(buff);
+        }
+        catch (Exception ex) {
+          System.err.println("error unmarshalling " + pduType);
+        }
+        buff.position(pos);         // Reset buffer
+      }
+    }
+
+    return aPdu;
+  }
+
+  /**
+   * Decodes datagram contents with bundled PDUs. As a performance hack DIS
+   * may include several PDUs in one datagram. Typically the max datagram
+   * size is 8K (above that it runs into some issues with the default
+   * incoming socket buffer size) but it may be more. The PDUs may be of
+   * multiple types and different lengths, so we have to step through the
+   * buffer and depend on the reported PDU length in the header. There's
+   * a lot that can go wrong. If something blows up, we return all the decoded
+   * PDUs we can.<p>
+   *
+   * @param data
+   * @return List of PDUs decoded
+   */
+  public List<Pdu> getPdusFromBundle(byte data[])
+  {
+    // All the PDUs in this bundle we were able to decode
+    ArrayList<Pdu> pdus = new ArrayList<Pdu>();
+    // The start point of a PDU in the data. We advance this by the size
+    // of each PDU as we read it.
+    int pduStartPointInData = 0;
+
+    while (true) {
+      // This is inefficient, but screw it. Give the GC a workout. Create a new
+      // data array from where the last PDU left off to the end of the original
+      // data array. This lets us reuse a bunch of old code.
+
+      byte remaining[] = Arrays.copyOfRange(data, pduStartPointInData, data.length);
+
+      try {
+        // Decode one PDU
+        Pdu pdu = this.createPdu(remaining);
+
+        // If the read is muffed somehow, give up on decoding the rest of
+        // the data
+        if (pdu == null) {
+          //System.out.println("Stopped reading bundled PDU due to bad PDU");
+          break;
+        }
+        else // otherwise add it to the list of PDUs we have decoded from this UDP packet
+        {
+          pdus.add(pdu);
+        }
+
+        // Advance the index to the start of the next PDU
+        int pduLength = pdu.getMarshalledSize(); //getLength();
+        pduStartPointInData = pduStartPointInData + pduLength;
+
+        //System.out.println("PDUStartPOint:" + pduStartPointInData + " data: " + data.length);
+        // Have we read all the data?
+        if (pduStartPointInData >= data.length) {
+          //System.out.println("Out of data to read" + pduStartPointInData + " data length:" + data.length);
+          break;
+        }
+
+      }
+      catch (Exception e) {
+        System.out.println("Problems decoding multiple PDUs in datagram; decoded as may as possible");
+        break;
+      }
+    } // end while
+
+    return pdus;
+  }
 }