code: public byte[] getMessage() {
          byte results[] = new byte[9 + 2 * getWriteWordCount()];
  
          results[0] = (byte)(readReference >> 8);
          results[1] = (byte)(readReference & 0xFF);
          results[2] = (byte)(readCount >> 8);
          results[3] = (byte)(readCount & 0xFF);
          results[4] = (byte)(writeReference >> 8);
          results[5] = (byte)(writeReference & 0xFF);
          results[6] = (byte)(writeCount >> 8);
          results[7] = (byte)(writeCount & 0xFF);
          results[8] = (byte)(writeCount * 2);
  
          int offset = 9;
          for (int i = 0; i < writeCount; i++) {
              Register reg = getRegister(i);
              byte[] bytes = reg.toBytes();
  
              results[offset++] = bytes[0];
              results[offset++] = bytes[1];
          }
          return results;
      }
docs: getMessage -- return a prepared message.
  @return prepared message