ParamConverter to inject the current user

When creating testable controllers, it's often desirable to not use the `getUser` function in the base controller, as this relies on the whole service container. 

In this case, we might add a dependency on the `SecurityContext` to achieve the same result, replicating this code: 

    public function getUser()
    {
        if (!$this->container->has('security.context')) {
            throw new \LogicException('The SecurityBundle is not registered in your application.');
        }

        if (null === $token = $this->container->get('security.context')->getToken()) {
            return;
        }

        if (!is_object($user = $token->getUser())) {
            return;
        }

        return $user;
    }

This parameter converter streamlines the process and injects the current user into the controller method instead using the following format:

    /**
     * @ParamConverter(converter="current_user", name="parameterName")
     */
    public function viewInboxAction(User $currentUser)


We can do this if the signature contains UserInterface directly, but if it's using a custom User class which is known by doctrine, Doctrine tries to handle it and errors (no mapping info). 

How would you approach this? Use priorities, only support() the interface directly?