ModifiableParentsClassLoader
A ClassLoader that supports dynamic addition of parent classloaders at runtime.
Key features:
Initializes without a parent classloader
Allows adding multiple parent classloaders dynamically
Designed for custom class resolution strategies
Primary usage:
Implement and return in org.jetbrains.kotlinx.jupyter.api.KernelRunMode.createIntermediaryClassLoader
Access via org.jetbrains.kotlinx.jupyter.api.Notebook.intermediateClassLoader
Cast to ModifiableParentsClassLoader and add required parent classloaders as needed
Typical use case: Loading IntelliJ plugins' classes in embedded mode.