Throw IllegalArgumentException("No such LoginService: " + loginServiceName)? The "default" case only happens when the app is misconfigured, so we may fail immediately instead of pushing the responsibility of handling null to the caller.