void (@NotNull UUID sessionId, @Nullable Throwable execFailure) { if (myMessageDispatcher.getAssociatedChannel(sessionId) == null) { // Either the connection has never been established (a process not started or execution failed), // or no messages were sent from the launched process. // In this case, the session cannot be unregistered by the message dispatcher final BuilderMessageHandler unregistered = myMessageDispatcher.unregisterBuildMessageHandler(sessionId); if (unregistered != null) { if (execFailure != null) { unregistered.handleFailure(sessionId, CmdlineProtoUtil.createFailure(execFailure.getMessage(), execFailure)); } unregistered.sessionTerminated(sessionId); } } }