@Callback
 @BindSelector("collectionView:shouldShowMenuForItemAtIndexPath:")
 public static boolean shouldShowMenuForItem(
     UICollectionViewDelegate __self__,
     Selector __cmd__,
     UICollectionView collectionView,
     NSIndexPath indexPath) {
   return __self__.shouldShowMenuForItem(collectionView, indexPath);
 }
 @Callback
 @BindSelector("collectionView:didUnhighlightItemAtIndexPath:")
 public static void didUnhighlightItem(
     UICollectionViewDelegate __self__,
     Selector __cmd__,
     UICollectionView collectionView,
     NSIndexPath indexPath) {
   __self__.didUnhighlightItem(collectionView, indexPath);
 }
 @Callback
 @BindSelector("collectionView:didEndDisplayingCell:forItemAtIndexPath:")
 public static void didEndDisplayingCell(
     UICollectionViewDelegate __self__,
     Selector __cmd__,
     UICollectionView collectionView,
     UICollectionViewCell cell,
     NSIndexPath indexPath) {
   __self__.didEndDisplayingCell(collectionView, cell, indexPath);
 }
 @Callback
 @BindSelector("collectionView:performAction:forItemAtIndexPath:withSender:")
 public static void performAction(
     UICollectionViewDelegate __self__,
     Selector __cmd__,
     UICollectionView collectionView,
     Selector action,
     NSIndexPath indexPath,
     NSObject sender) {
   __self__.performAction(collectionView, action, indexPath, sender);
 }
 @Callback
 @BindSelector("collectionView:didEndDisplayingSupplementaryView:forElementOfKind:atIndexPath:")
 public static void didEndDisplayingSupplementaryView(
     UICollectionViewDelegate __self__,
     Selector __cmd__,
     UICollectionView collectionView,
     UICollectionReusableView view,
     String elementKind,
     NSIndexPath indexPath) {
   __self__.didEndDisplayingSupplementaryView(collectionView, view, elementKind, indexPath);
 }