// Without this class loader setting, the REPL and the target process will
// see different instances of a static variable of the same class!
// http://stackoverflow.com/questions/5950025/multiple-instances-of-static-variables
settings.explicitParentLoader_$eq(Option.apply(cl));
ILoop repl = new ILoop(
new BufferedReader(new InputStreamReader(in)),
new PrintWriter(out)
);
// This call does not return until the stream (connection) is closed
repl.process(settings);
}