code: @Override
  	public int read(byte[] b) throws IOException {
  
  		if (b == null )
  			throw new EOFException("Target byte array is null");
  
  		return this.read(b, 0, b.length);
  	}
docs: Fill the byte with bytes from the stream. If stream contains not enough
  data - only the part of array is filled
  
  @param b
  The byte array to be filled by data
  @return Bytes count that have really read
  @throws IOException