ExtractPagesParameters extends MultiplePdfSourceMultipleOutputParameters implements PageRangeSelection,
        PagesSelection, OptimizableOutputTaskParameters, DiscardableOutlineTaskParameters { @Override public boolean equals(Object other) { if (this == other) { return true; } if (!(other instanceof ExtractPagesParameters)) { return false; } ExtractPagesParameters parameter = (ExtractPagesParameters) other; return new EqualsBuilder().appendSuper(super.equals(other)) .append(predefinedSetOfPages, parameter.predefinedSetOfPages) .append(optimizationPolicy, parameter.optimizationPolicy) .append(discardOutline, parameter.discardOutline).append(pageSelection, parameter.pageSelection) .append(invertSelection, parameter.invertSelection) .append(separateFileForEachRange, parameter.separateFileForEachRange).isEquals(); } ExtractPagesParameters();  ExtractPagesParameters(PredefinedSetOfPages predefinedSetOfPages); void addPageRange(PageRange range); void addAllPageRanges(Collection<PageRange> ranges); PredefinedSetOfPages getPredefinedSetOfPages(); @Override Set<PageRange> getPageSelection(); @Override Set<Integer> getPages(int upperLimit); List<Set<Integer>> getPagesSets(int upperLimit); @Override OptimizationPolicy getOptimizationPolicy(); @Override void setOptimizationPolicy(OptimizationPolicy optimizationPolicy); @Override boolean discardOutline(); @Override void discardOutline(boolean discardOutline); boolean isInvertSelection(); void setInvertSelection(boolean invertSelection); boolean isSeparateFileForEachRange(); void setSeparateFileForEachRange(boolean separateFileForEachRange); @Override int hashCode(); @Override boolean equals(Object other);  }
@Test public void testEquals() { ExtractPagesParameters eq1 = new ExtractPagesParameters(PredefinedSetOfPages.EVEN_PAGES); ExtractPagesParameters eq2 = new ExtractPagesParameters(PredefinedSetOfPages.EVEN_PAGES); ExtractPagesParameters eq3 = new ExtractPagesParameters(PredefinedSetOfPages.EVEN_PAGES); ExtractPagesParameters diff = new ExtractPagesParameters(); diff.addPageRange(new PageRange(12)); TestUtils.testEqualsAndHashCodes(eq1, eq2, eq3, diff); }