@Override
 public void perform(UiController uiController, View view) {
   ViewPager pager = (ViewPager) view;
   int pagerLength = pager.getAdapter().getCount();
   if (mNumSwipes != -1) {
     pagerLength = Math.min(pagerLength, mNumSwipes);
   }
   for (int x = 1; x < pagerLength; x++) {
     switch (mDirection) {
       case LEFT:
         pager.setCurrentItem(pagerLength - (x + 1), true);
         uiController.loopMainThreadUntilIdle();
         // If you'd like the ViewPager to pause
         // on each swipe for human inspection
         // replace loopMainThreadUntilIdle
         // with:
         // uiController.loopMainThreadForAtLeast(200);
         break;
       case RIGHT:
         pager.setCurrentItem(x, true);
         uiController.loopMainThreadUntilIdle();
         // uiController.loopMainThreadForAtLeast(200);
         break;
     }
   }
 }