codegen/src/main/java/software/amazon/awssdk/codegen/poet/paginators/customizations/SameTokenAsyncResponseClassSpec.java [60:107]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                         .build();
    }

    @Override
    protected String nextPageFetcherArgument() {
        return String.format("new %s()", nextPageFetcherClassName());
    }

    @Override
    protected TypeSpec.Builder nextPageFetcherClass() {
        return super.nextPageFetcherClass()
                    .addField(FieldSpec.builder(Object.class, LAST_TOKEN_MEMBER, Modifier.PRIVATE)
                                       .build());
    }

    @Override
    protected CodeBlock hasNextPageMethodBody() {
        if (paginatorDefinition.getMoreResults() != null) {
            return CodeBlock.builder()
                            .add("return $1N.$2L != null && $1N.$2L.booleanValue()",
                                 PREVIOUS_PAGE_METHOD_ARGUMENT,
                                 fluentGetterMethodForResponseMember(paginatorDefinition.getMoreResults()))
                            .build();
        }
        // If there is no more_results token, then output_token will be a single value
        return CodeBlock.builder()
                        .add("return $3T.isOutputTokenAvailable($1N.$2L) && ",
                             PREVIOUS_PAGE_METHOD_ARGUMENT,
                             fluentGetterMethodsForOutputToken().get(0),
                             PaginatorUtils.class)
                        .add("!$1N.$2L.equals($3L)",
                             PREVIOUS_PAGE_METHOD_ARGUMENT,
                             fluentGetterMethodsForOutputToken().get(0),
                             LAST_TOKEN_MEMBER)
                        .build();
    }

    @Override
    protected CodeBlock nextPageMethodBody() {
        return CodeBlock.builder()
                        .beginControlFlow("if ($L == null)", PREVIOUS_PAGE_METHOD_ARGUMENT)
                        .addStatement("$L = null", LAST_TOKEN_MEMBER)
                        .addStatement("return $L.$L($L)", CLIENT_MEMBER, operationModel.getMethodName(), REQUEST_MEMBER)
                        .endControlFlow()
                        .addStatement("$1L = $2L.$3L", LAST_TOKEN_MEMBER, PREVIOUS_PAGE_METHOD_ARGUMENT,
                                      fluentGetterMethodsForOutputToken().get(0))
                        .addStatement(codeToGetNextPageIfOldResponseIsNotNull())
                        .build();
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



codegen/src/main/java/software/amazon/awssdk/codegen/poet/paginators/customizations/SameTokenSyncResponseClassSpec.java [58:105]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                         .build();
    }

    @Override
    protected String nextPageFetcherArgument() {
        return String.format("new %s()", nextPageFetcherClassName());
    }

    @Override
    protected TypeSpec.Builder nextPageFetcherClass() {
        return super.nextPageFetcherClass()
                    .addField(FieldSpec.builder(Object.class, LAST_TOKEN_MEMBER, Modifier.PRIVATE)
                                       .build());
    }

    @Override
    protected CodeBlock hasNextPageMethodBody() {
        if (paginatorDefinition.getMoreResults() != null) {
            return CodeBlock.builder()
                            .add("return $1N.$2L != null && $1N.$2L.booleanValue()",
                                 PREVIOUS_PAGE_METHOD_ARGUMENT,
                                 fluentGetterMethodForResponseMember(paginatorDefinition.getMoreResults()))
                            .build();
        }
        // If there is no more_results token, then output_token will be a single value
        return CodeBlock.builder()
                        .add("return $3T.isOutputTokenAvailable($1N.$2L) && ",
                             PREVIOUS_PAGE_METHOD_ARGUMENT,
                             fluentGetterMethodsForOutputToken().get(0),
                             PaginatorUtils.class)
                        .add("!$1N.$2L.equals($3L)",
                             PREVIOUS_PAGE_METHOD_ARGUMENT,
                             fluentGetterMethodsForOutputToken().get(0),
                             LAST_TOKEN_MEMBER)
                        .build();
    }

    @Override
    protected CodeBlock nextPageMethodBody() {
        return CodeBlock.builder()
                        .beginControlFlow("if ($L == null)", PREVIOUS_PAGE_METHOD_ARGUMENT)
                        .addStatement("$L = null", LAST_TOKEN_MEMBER)
                        .addStatement("return $L.$L($L)", CLIENT_MEMBER, operationModel.getMethodName(), REQUEST_MEMBER)
                        .endControlFlow()
                        .addStatement("$1L = $2L.$3L", LAST_TOKEN_MEMBER, PREVIOUS_PAGE_METHOD_ARGUMENT,
                             fluentGetterMethodsForOutputToken().get(0))
                        .addStatement(codeToGetNextPageIfOldResponseIsNotNull())
                        .build();
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



