/** * Returns whether this container's source should search for duplicate source * elements. Since 3.5, the current participant is consulted to determine if * duplicates should be found. Fall back to querying the source lookup director * if the participant is not an {@link AbstractSourceLookupParticipant}. * * @return whether to search for duplicate source elements */ protected boolean isFindDuplicates() { ISourceLookupDirector director = getDirector(); if (director != null) { if (director instanceof AbstractSourceLookupDirector) { AbstractSourceLookupDirector asld = (AbstractSourceLookupDirector) director; ISourceLookupParticipant participant = asld.getCurrentParticipant(); if (participant instanceof AbstractSourceLookupParticipant ) { AbstractSourceLookupParticipant aslp = (AbstractSourceLookupParticipant) participant; return aslp.isFindDuplicates(); } } return director.isFindDuplicates(); } return false; }
CoreException single = null; MultiStatus multiStatus = null; if (isFindDuplicates()) { results = new ArrayList<Object>();