code: @Override
      public int read(final byte[] data, final int offset, final int size) throws IOException {
          return getBus().readBytesDirect(this, size, offset, data);
      }
docs: <p>
  This method reads bytes from the i2c device to given buffer at asked offset.
  </p>
  
  <p>
  Note: Current implementation calls {@link #read(int)}. That means for each read byte i2c bus will send (next) address to i2c device.
  </p>
  
  @param data buffer of data to be read from the i2c device in one go
  @param offset offset in buffer
  @param size number of bytes to be read
  
  @return number of bytes read
  
  @throws IOException thrown in case byte cannot be read from the i2c device or i2c bus