@Override public synchronized int read() throws IOException { if (pos == marklimit) { expand(); } return super.read(); }
@Override public synchronized int read(byte[] b, int off, int len) throws IOException { while (pos + len > marklimit) { expand(); } return super.read(b, off, len); }
@Override public synchronized int read(byte[] b) throws IOException { while (pos + b.length > marklimit) { expand(); } return super.read(b); }
@Override public synchronized int read(byte[] b, int off, int len) throws IOException { while (pos + len > marklimit) { expand(); } return super.read(b, off, len); }
@Override public synchronized int read() throws IOException { if (pos == marklimit) { expand(); } return super.read(); }
@Override public int read(byte[] b) throws IOException { while (pos + b.length > marklimit) { expand(); } return super.read(b); }