java.lang.System.out.println("INFO: Abstract child to get an abstraction."); sh.abstracc();  java.lang.System.out.println("INFO: Name child to get a category."); sh.name();  java.lang.System.out.println("INFO: Inherit child to get an inheritance."); sh.inherit();  java.lang.System.out.println("INFO: Categorize child to get a hierarchy."); sh.categorize();  java.lang.System.out.println("INFO: Position child to get a structure."); sh.position();  java.lang.System.out.println("INFO: Constrain child to get a definition."); sh.constrain();  java.lang.System.out.println("INFO: Behave child to get a behaviour."); sh.behave();  java.lang.System.out.println("INFO: Connect child to signal memory."); sh.setChild(Launcher.SIGNAL_MEMORY, getChild(Launcher.SIGNAL_MEMORY));  java.lang.System.out.println("INFO: Initialize child to get an item.");
    public ShutdownHook createShutdownHook() throws Exception {        ShutdownHook sh = new ShutdownHook();        if (sh != null) {            sh.initialize();            // This is an exceptional setting.            // Normally, child items should not know about the parent item.            // However, this shutdown hook as thread running in parallel to this launcher,            // needs to know this launcher so that it can eventually send a shutdown signal.             sh.setSystem(this);        } else {                throw new Exception("Could not create shutdown hook. The shutdown hook is null.");        }        return sh;    }