anchor.diff:                break;
               case 8:
                 _state = DecoderState.error;
  -              _listener.onError("extra long array");
  +              _listener.onError("Decoder::extra long array");
                 break;
             }
           } else
  
positive.code:                 _listener.onTag(minorType);
                } else if (minorType == ai24) {
                  _state = DecoderState.tag;
                  _currentLength = 1;
                } else if (minorType == ai25) {
                  // 2 byte
                  _currentLength = 2;
                  _state = DecoderState.tag;
                } else if (minorType == ai26) {
                  // 4 byte
                  _currentLength = 4;
                  _state = DecoderState.tag;
                } else if (minorType == ai27) {
                  // 8 byte
                  _currentLength = 8;
                  _state = DecoderState.tag;
                } else {
                  _state = DecoderState.error;
                  _listener.onError("invalid tag type");
                }
                break;
              case majorTypeSpecial: // special
  
negative.code:                 _currentLength = minorType;
                } else if (minorType == ai24) {
                  _state = DecoderState.bytesSize;
                  _currentLength = oneByte;
                } else if (minorType == ai25) {
                  // 2 byte
                  _currentLength = twoByte;
                  _state = DecoderState.bytesSize;
                } else if (minorType == ai26) {
                  // 4 byte
                  _currentLength = fourByte;
                  _state = DecoderState.bytesSize;
                } else if (minorType == ai27) {
                  // 8 byte
                  _currentLength = eightByte;
                  _state = DecoderState.bytesSize;
                } else if (minorType == aiBreak) {
                  _state = DecoderState.type;
                  _listener.onIndefinate("start");
                } else {
                  _state = DecoderState.error;
                  _listener.onError("Decoder::invalid bytes type");
                }
                break;
              case majorTypeString: // string
  