code: void initAndSplit(int leadingNulls, @NonNull List<T> multiPageList,
              int trailingNulls, int positionOffset, int pageSize, @NonNull Callback callback) {
  
          int pageCount = (multiPageList.size() + (pageSize - 1)) / pageSize;
          for (int i = 0; i < pageCount; i++) {
              int beginInclusive = i * pageSize;
              int endExclusive = Math.min(multiPageList.size(), (i + 1) * pageSize);
  
              List<T> sublist = multiPageList.subList(beginInclusive, endExclusive);
  
              if (i == 0) {
                  // Trailing nulls for first page includes other pages in multiPageList
                  int initialTrailingNulls = trailingNulls + multiPageList.size() - sublist.size();
                  init(leadingNulls, sublist, initialTrailingNulls, positionOffset);
              } else {
                  int insertPosition = leadingNulls + beginInclusive;
                  insertPage(insertPosition, sublist, null);
              }
          }
          callback.onInitialized(size());
      }
docs: ------------------ Non-Contiguous API (tiling required) ----------------------