Source:
public void sendTo(final MessageReceiver receiver, int page) { checkNotNull(this.contents, "The contents of the pagination list cannot be null!"); checkNotNull(receiver, "The message receiver cannot be null!"); this.service.registerCommandOnce(); MessageReceiver realSource = receiver; while (realSource instanceof ProxySource) { realSource = ((ProxySource)realSource).getOriginalSource(); } PaginationCalculator calculator = new PaginationCalculator(this.linesPerPage); Iterable<Map.Entry<Text, Integer>> counts = StreamSupport.stream(this.contents.spliterator(), false).map(input -> { int lines = calculator.getLines(input); return Maps.immutableEntry(input, lines); }).collect(Collectors.toList()); Text title = this.title.orElse(null); if (title != null) { title = calculator.center(title, this.paginationSpacer); } Supplier<Optional<MessageReceiver>> messageReceiverSupplier; if (receiver instanceof Player) { final UUID playerUuid = ((Player) receiver).getUniqueId(); messageReceiverSupplier = () -> Sponge.getServer().getPlayer(playerUuid).map(x -> (MessageReceiver) x); } else { WeakReference<MessageReceiver> srcReference = new WeakReference<>(receiver); messageReceiverSupplier = () -> Optional.ofNullable(srcReference.get()); } ActivePagination pagination; if (this.contents instanceof List) { pagination = new ListPagination(messageReceiverSupplier, calculator, ImmutableList.copyOf(counts), title, this.header.orElse(null), this.footer.orElse(null), this.paginationSpacer); } else { pagination = new IterablePagination(messageReceiverSupplier, calculator, counts, title, this.header.orElse(null), this.footer.orElse(null), this.paginationSpacer); } this.service.getPaginationState(receiver, true).put(pagination); try { pagination.specificPage(page); } catch (CommandException e) { receiver.sendMessage(error(e.getText())); } }

Target:
public void sendTo(final MessageReceiver receiver, int page) { checkNotNull(receiver, "The message receiver cannot be null!"); this.service.registerCommandOnce(); MessageReceiver realSource = receiver; while (realSource instanceof ProxySource) { realSource = ((ProxySource)realSource).getOriginalSource(); } final PaginationCalculator calculator = new PaginationCalculator(this.linesPerPage); Iterable<Map.Entry<Text, Integer>> counts = StreamSupport.stream(this.contents.spliterator(), false).map(input -> { int lines = calculator.getLines(input); return Maps.immutableEntry(input, lines); }).collect(Collectors.toList()); Text title = this.title.orElse(null); if (title != null) { title = calculator.center(title, this.paginationSpacer); } Supplier<Optional<MessageReceiver>> messageReceiverSupplier; if (receiver instanceof Player) { final UUID playerUuid = ((Player) receiver).getUniqueId(); messageReceiverSupplier = () -> Sponge.getServer().getPlayer(playerUuid).map(x -> (MessageReceiver) x); } else { WeakReference<MessageReceiver> srcReference = new WeakReference<>(receiver); messageReceiverSupplier = () -> Optional.ofNullable(srcReference.get()); } ActivePagination pagination; if (this.contents instanceof List) { pagination = new ListPagination(messageReceiverSupplier, calculator, ImmutableList.copyOf(counts), title, this.header.orElse(null), this.footer.orElse(null), this.paginationSpacer); } else { pagination = new IterablePagination(messageReceiverSupplier, calculator, counts, title, this.header.orElse(null), this.footer.orElse(null), this.paginationSpacer); } this.service.getPaginationState(receiver, true).put(pagination); try { pagination.specificPage(page); } catch (CommandException e) { receiver.sendMessage(error(e.getText())); } }