code: public boolean containsSymbol(char[] buffer, int offset, int length) {
  
          // search for identical symbol
          int bucket = hash(buffer, offset, length) % fTableSize;
          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 true;
              }
          }
  
          return false;
  
      }
docs: Returns true if the symbol table already contains the specified
  symbol.
  
  @param buffer The buffer containing the symbol to look for.
  @param offset The offset into the buffer.
  @param length The length of the symbol in the buffer.