anchor.diff:     *    bit 2 - 1 : Qos Level
      *    bit 0     : RETAIN
      * 
  -   * Byte 2 : Remaining length   
  +   * Byte 2 : Remaining length  
  +   * 
  +   * Returns length of fixed header. 
      */
  -  decodeFixedHeader(data) {
  +  num decodeFixedHeader(data) {
       type = data[0] >> 4;
       DUP = data[0] & 0x1000;
       QoS = (data[0]>>1) & QOS_ALL;
  
positive.code:     } while ( (digit & 0x80) != 0);
  
      len = remLength + 2;
    }
  
    /**
  
negative.code:    *    - a payload (message specific)
     */
    MqttMessage.decode(List<int> data, [bool debugMessage = false]) {
      num fhLen = decodeFixedHeader(data);
      num vhLen = decodeVariableHeader(data.sublist(fhLen));
      if (data.length > fhLen + vhLen) {
        decodePayload(data.sublist(fhLen + vhLen));
      }
      
      if (debugMessage) {
  