### Question:
IntegrityReportRequest implements ReportRequest { public final void addReportRequest(final ReportRequest request) { LOGGER.debug("Entering addReportRequest"); if (request == null) { throw new NullPointerException("request"); } reportRequests.add(request); Collections.sort(reportRequests, REPORT_REQUEST_COLLECTION_ORDER_COMPARATOR); LOGGER.debug("Added report request {}", request.getReportType()); LOGGER.debug("Exiting addReportRequest"); }  final void addReportRequest(final ReportRequest request); List<ReportRequest> getReportRequest(); @Override final Class<? extends Report> getReportType(); void setWaitForAppraisalCompletionEnabled(
            final boolean waitForAppraisalCompletionEnabled); boolean isWaitForAppraisalCompletionEnabled();  }### Answer:
@Test public final void addReportRequest() { IMAReportRequest imaReportRequest = new IMAReportRequest(); IntegrityReportRequest reportRequest = new IntegrityReportRequest(); reportRequest.addReportRequest(imaReportRequest); List<ReportRequest> requests = reportRequest.getReportRequest(); Assert.assertEquals(requests.get(0).getReportType(), imaReportRequest.getReportType()); }