class EntitiesPagedList extends EntitiesList<T> {

    protected PaginationConstraints buildPaginationConstraints(final int size) {
        final boolean hasMorePages = hasMorePages();
        final boolean isNotFirstPage = currentPage > 1;
        return new PaginationConstraints() {
            @Override
            public boolean isFirstPageEnabled() {
                return isNotFirstPage;
            }

            @Override
            public boolean isFirstPageVisible() {
                return isNotFirstPage;
            }

            @Override
            public boolean isPrevPageEnabled() {
                return isNotFirstPage;
            }

            @Override
            public boolean isPrevPageVisible() {
                return isNotFirstPage;
            }

            @Override
            public int getCurrentPage() {
                return currentPage;
            }

            @Override
            public boolean isNextPageEnabled() {
                return hasMorePages;
            }

            @Override
            public boolean isNextPageVisible() {
                return hasMorePages;
            }

            @Override
            public boolean isLastPageEnabled() {
                return hasMorePages;
            }

            @Override
            public boolean isLastPageVisible() {
                return hasMorePages;
            }

            @Override
            public Integer getTotal() {
                return size;
            }
        };
    }

    @Inject public  EntitiesPagedList(LoadingBox loadingBox,
                             View view);

}