code: @Override
      protected boolean changeDirection(int currentIndex, int centerIndex, boolean inBounds) {
          boolean changed = false;
          if (getGravityInternal() == Gravity.CENTER &&
                  currentIndex <= centerIndex &&
                  currentIndex == 0 || !inBounds) {
  
              changed = true;
          }
          return changed;
      }
docs: <<<<<< measureUntilFull helper methods