public final int read(byte[] b, int off, int len) throws IOException
public final int read(byte[] b) throws IOException
  public final int read(byte[] b, int off, int len) throws IOException  {    if (off < 0 || len < 0 || off + len > b.length)      throw new ArrayIndexOutOfBoundsException();    return super.read(b, off, len);  }