if (processor != null) {
messageEmpty.setAttribute(IQuickAssistProcessor.class.getName(), processor);
AnnotationInfo info = new QuickfixAnnotationInfo(messageEmpty);
IncrementalReporter incrementalReporter = (IncrementalReporter) reporter;
AnnotationInfo[] existingInfos = incrementalReporter.getAnnotationInfo();
for (AnnotationInfo existingInfo : existingInfos) {
IMessage existingMessage = existingInfo.getMessage();
if (existingMessage.getOffset() != messageEmpty.getOffset()) {
continue;
}
if (!existingMessage.getText().equals(messageEmpty.getText())) {
continue;
}
Object existingProcessor = existingMessage.getAttribute(IQuickAssistProcessor.class.getName());
if (existingProcessor != null && existingProcessor.equals(processor)) {
return;
}
}
incrementalReporter.addAnnotationInfo(this, info);
}
}
}