private static int Receive(ref JpegBitReader reader, int length) { Debug.Assert(length > 0); if (!reader.TryReadBits(length, out int value, out bool isMarkerEncountered)) { if (isMarkerEncountered) { ThrowInvalidDataException("Expect raw data from bit stream. Yet a marker is encountered."); } ThrowInvalidDataException("The bit stream ended prematurely."); } return(value); }