class PdfMergeInput implements PageRangeSelection, PagesSelection, MergeInput {

    @Override
    public Set<Integer> getPages(int totalNumberOfPage) {
        Set<Integer> retSet = new NullSafeSet<Integer>();
        if (isAllPages()) {
            for (int i = 1; i <= totalNumberOfPage; i++) {
                retSet.add(i);
            }
        } else {
            for (PageRange range : getPageSelection()) {
                retSet.addAll(range.getPages(totalNumberOfPage));
            }
        }
        return retSet;
    }

    public  PdfMergeInput(PdfSource<?> source, Set<PageRange> pageSelection);
    public  PdfMergeInput(PdfSource<?> source);

}