Я застрял на этом в течение нескольких часов, пока мне, наконец, не удалось это сделать. Уже есть ссылки, которые указали мне правильное направление:
. Но я подумал, что простой обзор проблемы может кому-нибудь помочь :).