java: public void reset() throws IOException {synchronized (lock) {checkNotClosed();if (mark == -1) {throw new IOException("Invalid mark");}pos = mark;}}
C#: public override void reset(){lock (@lock){checkNotClosed();if (_mark == -1){throw new System.IO.IOException("Invalid mark");}pos = _mark;}}