/// <summary>
 /// Compares internal data for equality.
 /// </summary>
 /// <param name="b"></param>
 /// <returns></returns>
 public bool Equals(EntityState b)
 {
     if (!Header.Equals(this, b))
     {
         return(false);
     }
     if (!entityID.Equals(b.entityID))
     {
         return(false);
     }
     if (forceID != b.forceID)
     {
         return(false);
     }
     if (!entityType.Equals(b.entityType))
     {
         return(false);
     }
     if (!alternateEntityType.Equals(b.alternateEntityType))
     {
         return(false);
     }
     if (!linearVelocity.Equals(b.linearVelocity))
     {
         return(false);
     }
     if (!location.Equals(b.location))
     {
         return(false);
     }
     if (!orientation.Equals(b.orientation))
     {
         return(false);
     }
     if (!appearance.Equals(b.appearance))
     {
         return(false);
     }
     if (!deadReckoningParameter.Equals(b.deadReckoningParameter))
     {
         return(false);
     }
     if (!marking.Equals(b.marking))
     {
         return(false);
     }
     if (!capabilities.Equals(b.capabilities))
     {
         return(false);
     }
     if (!variableParameters.Equals(b.variableParameters))
     {
         return(false);
     }
     return(true);
 }