public static StateChangeTransaction ParseSerializedBytes(byte[] data) { StateChangeTransaction transaction = new StateChangeTransaction(); transaction.SetTransactionID(BitConverter.ToUInt16(data, 0)); transaction.SetChangeType((StateChange)data[2]); if (data[3] == 1) { byte[] dataEndCap = new byte[data.Length - 4]; Buffer.BlockCopy(data, 4, dataEndCap, 0, dataEndCap.Length); //hmmm MeshNetworkIdentity i = new MeshNetworkIdentity(); i.DeserializeAndApply(dataEndCap); transaction.SetObjectData(i); } return(transaction); }