When loading TerminalProviders in context using java Modules or OSGi, the fallback to the system classloader in https://github.com/jline/jline3/blob/114e9a8f86102245ed9e2e642603f97e11ac962b/terminal/src/main/java/org/jline/terminal/spi/TerminalProvider.java#L57 is inappropriate ands leads to load errors inside TerminalProvider. The more appropriate fallback classloader is ``` TerminalProvider.class.getClassLoader() ``` which points to the system classloader in simple setups or to the module's or OSGi bundle classloader in more complex deployments.