Terminal term = (Terminal) session.get(".jline.terminal");
PrintStream out = System.out;
SortedMap<String,String> commands = new TreeMap<String,String>();
for (String name : names) {
String description = null;
Function function = (Function) session.get(name);
function = unProxy(function);
if (function instanceof AbstractCommand) {
try {
Method mth = AbstractCommand.class.getDeclaredMethod("createNewAction");
mth.setAccessible(true);