public void eventDispatched(AWTEvent event) {
    if (!isAssertTrigger(event)) {
      return;
    }

    MouseEvent mouse = (MouseEvent) event;

    GuiComponent guiComponent = factory.find(mouse);

    if (guiComponent == null) {
      return;
    }

    assertContext.setGuiComponent(guiComponent);
    assertContext.setPoint(mouse.getPoint());

    JPopupMenu menu = dialogManager.newPopupMenu();

    for (Iterator iterator = actionManager.actions(); iterator.hasNext(); ) {
      AbstractAssert assertAction = (AbstractAssert) iterator.next();
      String actionId = (String) assertAction.getValue(AbstractAssert.ACTION_ID);

      ActionViewUtil.connectActionTo(assertAction, menu.add(actionId));
      assertAction.update();

      if (!guiComponent.isFindable()
          && AbstractAssert.COMPONENT_ASSERT == assertAction.getAssertType()) {
        assertAction.setEnabled(false);
      }
    }

    menu.setBorder(BorderFactory.createLineBorder(Color.blue, 5));
    menu.show(guiComponent.getSwingComponent(), mouse.getX(), mouse.getY());
  }
 @Override
 public DateAssert usingComparator(Comparator<?> customComparator) {
   super.usingComparator(customComparator);
   this.dates = new Dates(new ComparatorBasedComparisonStrategy(customComparator));
   return myself;
 }
 @Override
 public DateAssert usingDefaultComparator() {
   super.usingDefaultComparator();
   this.dates = Dates.instance();
   return myself;
 }
 @Override
 public DoubleArrayAssert usingDefaultComparator() {
   super.usingDefaultComparator();
   this.arrays = DoubleArrays.instance();
   return myself;
 }
 @Override
 public DoubleArrayAssert usingComparator(Comparator<?> customComparator) {
   super.usingComparator(customComparator);
   this.arrays = new DoubleArrays(new ComparatorBasedComparisonStrategy(customComparator));
   return myself;
 }
 @Override
 public S usingDefaultComparator() {
   super.usingDefaultComparator();
   this.strings = Strings.instance();
   return myself;
 }
 @Override
 public S usingComparator(Comparator<? super A> customComparator) {
   super.usingComparator(customComparator);
   this.strings = new Strings(new ComparatorBasedComparisonStrategy(customComparator));
   return myself;
 }
 // relax visibility for test
 @Override
 public void failWithMessage(String errorMessage, Object... arguments) {
   super.failWithMessage(errorMessage, arguments);
 }