@Override
        public @NonNull CompletableFuture<@NonNull Iterable<@NonNull Suggestion>> suggestionsFuture(
                final @NonNull CommandContext<TestCommandSender> context,
                final @NonNull CommandInput input
        ) {
            final String name;
            if (input.hasRemainingInput()) {
                name = input.readString();
            } else {
                return CompletableFuture.completedFuture(
                        MONKEY_NAMES.stream().map(Suggestion::suggestion).collect(Collectors.toList())
                );
            }

            final String favoriteFruit;
            if (input.hasRemainingInput()) {
                favoriteFruit = input.readString();
            } else {
                return CompletableFuture.completedFuture(
                        Arrays.stream(Fruit.values())
                                .map(Fruit::name)
                                .map(fruit -> fruit.toLowerCase(Locale.ROOT))
                                .map(fruit -> String.format("%s %s", name, fruit))
                                .map(Suggestion::suggestion)
                                .collect(Collectors.toList())
                );
            }

            final int age;
            if (input.isValidInteger(0, Integer.MAX_VALUE)) {
                age = input.readInteger();
            } else {
                return CompletableFuture.completedFuture(
                        IntStream.range(1, 4)
                                .mapToObj(number -> String.format("%s %s %d", name, favoriteFruit, number))
                                .map(Suggestion::suggestion)
                                .collect(Collectors.toList())
                );
            }

            return CompletableFuture.completedFuture(
                    Collections.singletonList(
                            Suggestion.suggestion(String.format("%s %s %d", name, favoriteFruit, age))
                    )
            );
        }
Test for parsers that consume multiple tokens.
cloud-core/src/test/java/org/incendo/cloud/feature/MultiTokenParserTest.java