Just for completion.
What was looking for is line 39.
//Wrong
IKinectListenerInterface = InterfaceCast<IKinectListenerInterface>(*It);
//Right
ListenerInterface = InterfaceCast<IKinectListenerInterface>(*It);
Without that change the If check in Line 42 will not work because ListenerInterface is never changed and will be NULL.