protected virtual String TightUnmarshalString(BinaryReader dataIn, BooleanStream bs) { if(bs.ReadBoolean()) { if(bs.ReadBoolean()) { return ReadAsciiString(dataIn); } else { return dataIn.ReadString(); } } else { return null; } }