@clever saffron has a question:
How is it possible that returned value of the commandEvent.commands() is of type List instead of List<CommandNode>? Is it Lombok error?
@Getter
@Accessors(fluent = true)
public class CommandEvent<T extends CommandSender> {
private final T sender;
private final CommandNode invokedCommand;
private final List<CommandNode> commands;
...