class AI01weightDecoder extends AI01decoder {

  AI01weightDecoder(BitArray information) {
    super(information);
  }

  final void encodeCompressedWeight(StringBuilder buf, int currentPos, int weightSize) {<FILL_FUNCTION_BODY>}

  protected abstract void addWeightCode(StringBuilder buf, int weight);

  protected abstract int checkWeight(int weight);

}

    int originalWeightNumeric = this.getGeneralDecoder().extractNumericValueFromBitArray(currentPos, weightSize);
    addWeightCode(buf, originalWeightNumeric);

    int weightNumeric = checkWeight(originalWeightNumeric);

    int currentDivisor = 100000;
    for (int i = 0; i < 5; ++i) {
      if (weightNumeric / currentDivisor == 0) {
        buf.append('0');
      }
      currentDivisor /= 10;
    }
    buf.append(weightNumeric);
  
<methods><variables>static final int GTIN_SIZE