private void loadExtendedStringTable(BitBuffer bitBuffer, int nbrBitsFeatureIdx, int nbrBitsStrIdx) {       
        
        int haveExtendedStrings = bitBuffer.nextBit();
        
        if(LOG.isTrace()) {
            LOG.trace("TileMap.loadExtendedStringTable()", "haveExtendedStrings= "+haveExtendedStrings);
        }
        
        if(haveExtendedStrings == 1) {
            int nbrBitsPerStrType   = bitBuffer.nextBits(4);
            int nbrBitsForTableSize = bitBuffer.nextBits(4);
            int stringTableSize     = bitBuffer.nextBits(nbrBitsForTableSize);
            
            iExtenedStringsArray = new ExtendedStrings[stringTableSize];
            ExtendedStrings extString = null;
            int extendedStrCnt = 0;
            int featureIdx=0,stringType,stringIndex, sameFeatureIndex=0;
            
            for(int i=0; i<stringTableSize; i++) {                  
                if(i > 0)
                    sameFeatureIndex = bitBuffer.nextBit();
                
                if(sameFeatureIndex == 0)
                    featureIdx  = bitBuffer.nextBits(nbrBitsFeatureIdx);
                
                stringType  = bitBuffer.nextBits(nbrBitsPerStrType);
                stringIndex = bitBuffer.nextBits(nbrBitsStrIdx);
                
                if(sameFeatureIndex == 1 && extString != null) {
                    extString.addString(stringType, strings[stringIndex]);
                } else {
                    extString = new ExtendedStrings(featureIdx, stringType, strings[stringIndex]);
                    iExtenedStringsArray[extendedStrCnt++] = extString;
                }
                
                if(LOG.isTrace()) {
                    LOG.trace("TileMap.loadExtendedStringTable()", 
                               "featureIdx= "+featureIdx+
                               " strType= "+stringType+
                               " strIndex= "+stringIndex+
                               " name= "+strings[stringIndex]+
                               " name2= "+strings[featureIdx]+
                               " sameFeatureIndex= "+sameFeatureIndex);
                }               
            }
        }
    }