public override void StartInteractiveTransition (IUIViewControllerContextTransitioning transitionContext)
		{
			context = transitionContext;
			var fromVC = (UICollectionViewController) context.GetViewControllerForKey (UITransitionContext.FromViewControllerKey);
			var toVC = (UICollectionViewController) context.GetViewControllerForKey (UITransitionContext.ToViewControllerKey);
			transitionLayout = (APLTransitionLayout) fromVC.CollectionView.StartInteractiveTransition (toVC.Layout,
				delegate (bool finished, bool completed)  {
				context.CompleteTransition (completed);
				collectionView.WeakDelegate = completed ? toVC : fromVC;
				transitionLayout = null;
				context = null;
				HasActiveInteraction = false;
			});
		}
        public override void StartInteractiveTransition(IUIViewControllerContextTransitioning transitionContext)
        {
            context = transitionContext;
            var fromVC = (UICollectionViewController)context.GetViewControllerForKey(UITransitionContext.FromViewControllerKey);
            var toVC   = (UICollectionViewController)context.GetViewControllerForKey(UITransitionContext.ToViewControllerKey);

            transitionLayout = (APLTransitionLayout)fromVC.CollectionView.StartInteractiveTransition(toVC.Layout,
                                                                                                     delegate(bool finished, bool completed)  {
                context.CompleteTransition(completed);
                collectionView.WeakDelegate = completed ? toVC : fromVC;
                transitionLayout            = null;
                context = null;
                HasActiveInteraction = false;
            });
        }