When asked about an unknown identifier, it always parses the source code again.
Instead, it should parse the file only a single time and remember all the parsed symbols.
I know there's MemoizingSourceLocator but it doesn't help really. It will only remember null when asked about the same identifiers for the second time.