code: public void setData(byte[] data) {
          // There are always two bytes of payload in the message -- the
          // slave ID and the run status indicator.
          if (data == null) {
              m_length = 2;
              m_data = new byte[0];
  
              return;
          }
  
          if (data.length > 249) {
              throw new IllegalArgumentException("data length limit exceeded");
          }
  
          m_length = data.length + 2;
  
          m_data = new byte[data.length];
          System.arraycopy(data, 0, m_data, 0, data.length);
      }
docs: setData -- initialize the slave's device dependent data when
  initializing a response.
  
  @param data byte array