$jwe_serializers * @param array $encryptionAlgorithms * @param null|array $contentEncryptionAlgorithms * @param null|array $compressionMethods * @param array $jws_serializers * @param array $signatureAlgorithms */ public function create( array $jwe_serializers, array $encryptionAlgorithms, null|array $contentEncryptionAlgorithms, null|array $compressionMethods, array $jws_serializers, array $signatureAlgorithms ): NestedTokenBuilder { if ($contentEncryptionAlgorithms !== null) { $encryptionAlgorithms = array_merge($encryptionAlgorithms, $contentEncryptionAlgorithms); } $jweBuilder = $this->jweBuilderFactory->create($encryptionAlgorithms, null, $compressionMethods); $jweSerializerManager = $this->jweSerializerManagerFactory->create($jwe_serializers); $jwsBuilder = $this->jwsBuilderFactory->create($signatureAlgorithms); $jwsSerializerManager = $this->jwsSerializerManagerFactory->create($jws_serializers); return new NestedTokenBuilder($jweBuilder, $jweSerializerManager, $jwsBuilder, $jwsSerializerManager); } }