this code relies on the bundle load order. the better solution is to create a compiler pass and remove the services if the session service is missing