public new void unmarshal(DataInputStream dis)
        {
            base.unmarshal(dis);

            try
            {
                _environmentalSimulationApplicationID.unmarshal(dis);
                _fieldNumber = dis.readUshort();
                _pduNumber = dis.readUshort();
                _pduTotal = dis.readUshort();
                _coordinateSystem = dis.readUshort();
                _numberOfGridAxes = dis.readByte();
                _constantGrid = dis.readByte();
                _environmentType.unmarshal(dis);
                _orientation.unmarshal(dis);
                _sampleTime = dis.readLong();
                _totalValues = dis.readUint();
                _vectorDimension = dis.readByte();
                _padding1 = dis.readUshort();
                _padding2 = dis.readByte();
                for(int idx = 0; idx < _numberOfGridAxes; idx++)
                {
                    GridAxisRecord anX = new GridAxisRecord();
                    anX.unmarshal(dis);
                    _gridDataList.Add(anX);
                };

            } // end try
            catch(Exception e)
            {
                Trace.WriteLine(e);
                Trace.Flush();
            }
        }