code: final public int[] readHoldingRegisters(int serverAddress, int startAddress, int quantity) throws
              ModbusProtocolException, ModbusNumberException, ModbusIOException {
          ModbusRequest request = ModbusRequestBuilder.getInstance().buildReadHoldingRegisters(serverAddress, startAddress, quantity);
          ReadHoldingRegistersResponse response = (ReadHoldingRegistersResponse) processRequest(request);
          return response.getRegisters();
      }
docs: This function code is used to read the contents of a contiguous block of holding registers in a
  remote device. The Request PDU specifies the starting register address and the number of
  registers. In the PDU Registers are addressed starting at zero. Therefore registers numbered
  1-16 are addressed as 0-15.
  
  @param serverAddress a slave address
  @param startAddress  starting register address
  @param quantity      the number of registers
  @return the register data
  @throws ModbusProtocolException if modbus-exception is received
  @throws ModbusNumberException   if response is invalid
  @throws ModbusIOException       if remote slave is unavailable