### Question:
AdvancedAnnotationListEditor implements IsWidget,
                   AdvancedAnnotationListEditorView.Presenter { @Override public void onAddAnnotation() { view.invokeCreateAnnotationWizard(getAddAnnotationCallback(), module, elementType); } @Inject  AdvancedAnnotationListEditor(AdvancedAnnotationListEditorView view,
                                        Caller<DataModelerService> modelerService,
                                        Instance<ValuePairEditorPopup> valuePairEditorInstance,
                                        Instance<AnnotationListItem> itemInstance); @Override Widget asWidget(); void init(final KieModule module,
                     final ElementType elementType); void loadAnnotations(List<Annotation> annotations); void loadAnnotations(List<Annotation> annotations,
                                Map<String, AnnotationSource> annotationSources); boolean isReadonly(); void setReadonly(boolean readonly); @Override void onAddAnnotation(); void addDeleteAnnotationHandler(AdvancedAnnotationListEditorView.DeleteAnnotationHandler deleteAnnotationHandler); void addClearValuePairHandler(AdvancedAnnotationListEditorView.ClearValuePairHandler clearValuePairHandler); void addValuePairChangeHandler(AdvancedAnnotationListEditorView.ValuePairChangeHandler valuePairChangeHandler); void addAddAnnotationHandler(AdvancedAnnotationListEditorView.AddAnnotationHandler addAnnotationHandler); void clear(); void removeAnnotation(Annotation annotation);  }### Answer:
@Test public void testOnAddAnnotation() { annotationListEditor.init(kieModule, elementType); annotationListEditor.onAddAnnotation(); verify(view, times(1)).invokeCreateAnnotationWizard(annotationCallbackCaptor.capture(), eq(kieModule), eq(elementType)); annotationCallbackCaptor.getValue().callback(annotation); verify(addAnnotationHandler, times(1)).onAddAnnotation(annotation); }