@Override
    public void run() {
      try {
        List<BucketRegion> bucketList = new ArrayList<>();
        Set<BucketRegion> buckets = dataStore.getAllLocalBucketRegions();
        for (BucketRegion br : buckets) {
          if (HeapEvictor.MINIMUM_ENTRIES_PER_BUCKET < br.getSizeForEviction()) {
            bucketList.add(br);
          }
        }
        if (!bucketList.isEmpty()) {
          Collections.sort(bucketList, (buk1, buk2) -> {
            long buk1NumEntries = buk1.getSizeForEviction();
            long buk2NumEntries = buk2.getSizeForEviction();
            if (buk1NumEntries > buk2NumEntries) {
              return -1;
            } else if (buk1NumEntries < buk2NumEntries) {
              return 1;
            }
            return 0;
          });
        }
        sortedBuckets = bucketList;
        if (!bucketSortedOnce.get()) {
          bucketSortedOnce.set(true);
        }
      } catch (Exception e) {
        if (logger.isDebugEnabled()) {
          logger.debug("BucketSorterRunnable : encountered Exception ", e);
        }
      }
    }
Changes the CustomExpiry for idleTimeout for values in the region

@param custom the new CustomExpiry
@return the old CustomExpiry
geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegion.java