Will calling restoreSession in readExternal work? I think this should be called in start(), which makes sure that CLIservice is started. At the time of readExternal, CLIService is not started.