if (buffer[offset + i] != entry.characters[i]) {
if (symbol.charAt(i) != entry.characters[i]) {
    public String addSymbol(char[] buffer, int offset, int length) {        // search for identical symbol        int bucket = hash(buffer, offset, length) % TABLE_SIZE;        OUTER: for (Entry entry = fBuckets[bucket]; entry != null; entry = entry.next) {            if (length == entry.characters.length) {                for (int i = 0; i < length; i++) {                    if (buffer[offset + i] != entry.characters[i]) {                        continue OUTER;                    }                }                return entry.symbol;            }        }        // add new entry        Entry entry = new Entry(buffer, offset, length, fBuckets[bucket]);        fBuckets[bucket] = entry;        return entry.symbol;    } // addSymbol(char[],int,int):String