protected override object Read(PushbackTextReader r, char semicolon, object opts) { int ch; do { ch = r.Read(); } while (ch != -1 && ch != '\n' && ch != '\r'); return r; }