| BatchEventsProcessor | 
 This class transforms non-batched events to batch events
 It listens to usual SRepositoryListener events and groups them into SRepositoryEvents
 not thread-safe 
 | 
| ClassLoaderManager | 
 A ClassLoaderManager is a singleton and provides an internal API for loading classes
 within MPS. 
 | 
| ClassLoadersHolder | 
 This class stores a map SModuleReference->ModuleClassLoader
 Note: the actual dispose of ModuleClassLoaders happen asynchronously in the EDT 
 | 
| ClassLoadingBroadCaster | 
 Broadcasting class loading load/unload events. 
 | 
| DumbIdeaPluginFacet | 
  | 
| GraphHolder<V> | 
  | 
| IDEADelegatingModuleClassLoader | 
 The classloader-wrapper around the IDEA or system classloaders. 
 | 
| ModuleClassLoader | 
 MPS implementation of java.lang.ClassLoader which uses non-standard way of class loading delegation. 
 | 
| ModuleClassLoaderSupport | 
  | 
| ModuleEventsDispatcher | 
The class is responsible for listening  SRepositoryListener events like
 moduleAdded,
 moduleRemoved,
 etc.,
 and dispatching batch (group) events to listeners.  
 | 
| ModulesWatcher | 
 This class watches all the reloadable modules, which satisfy #myWatchableCondition in the repository and dependencies between them. 
 | 
| ModuleUpdater | 
  | 
| MPSModuleClassLoader | 
 Any MPS module which has a java facet is a subject to MPS custom class loading. 
 | 
| ReferenceStorage<M extends SModule> | 
 awful place, it is a shame 
 | 
| RootClassloaderLookup | 
 Looks up so-called parent (or root) class loader. 
 |