O erro está no filter. Entendo que ele espera uma condição, mas aqui não tem comparação: é, caso exista o endpoint que foi recuperado no código que você me passou, ele pega a pipeline DAQUELE objeto. Deu pra entender?
O que quero fazer é: Se existe o PlayerEndpoint nos critérios definidos, a variável “playerEndpoint” receberá o objeto, e a variavel “pipeline” vai receber a pipeline do playerEndpoint. Se não existir, crio ambos.
Se eu entendi direito, significa que essa chamada userSession.getMediaPipeline() pode retornar null, eh isso? Se sim, vc pode fazer essa verificação no filter mesmo (userSession.getMediaPipeline() != null).