private IProcessModule FetchModule(string moduleName) { lock (Modules) { if (Modules.ContainsKey(moduleName)) return (IProcessModule)Modules[moduleName]; var modulebase = GetModule(moduleName); // return null if not found if (modulebase == null) return null; var newModule = new Module(Handle, modulebase, Internal); Modules.Add(moduleName, newModule); return newModule; } }