protected Map<String, IToken> getCachedCompletions(String tok, IPythonNature nature, boolean searchSameLevelMods,
ICompletionCache completionCache, String generateTokensFor) throws CompletionRecursionException {
//now, check if it's cached in a way we can use it (we cache it not as raw tokens, but as representation --> token)
//to help in later searches.
String name = this.getName();
Object key = new TupleN("isInGlobalTokens", name != null ? name : "", generateTokensFor, tok,
searchSameLevelMods);
Map<String, IToken> cachedTokens = (Map<String, IToken>) completionCache.getObj(key);
if (cachedTokens == null) {
cachedTokens = internalGenerateCachedTokens(nature, completionCache, generateTokensFor, searchSameLevelMods);