@Override
  public final @NotNull ModCommand perform(@NotNull ActionContext context) {
    E element = getElement(context);
    if (element == null) return ModNothing.NOTHING;
    return perform(context, element);
  }
@Override
  public final @NotNull ModCommand perform(@NotNull ActionContext context)