SymbolTable: Got rid of the lookup attempt that comes before locking the symbol table.  That is really just an optimization, given that createSymbol will perform the same lookup.
SymbolTable: Made the logic for lookups, which is copied in two different places, more readable.
SymbolTable: Instead of duplicating the lookup logic in multiple places, just call a method called findEntry from both places it is needed.