Weird "Switching phase" exception

Okay… What the hell is that?

@Override
public void apply(Player player) {
    ConsoleSource console_source = Sponge.getServer().getConsole();
    for (Command command : commands) {
        String cmd = command.getCmd().replace("%PLAYER%", player.getName());
        boolean console = command.isConsole();
        //CommandDrop.java:44
        Sponge.getCommandManager().process(console ? console_source : player, cmd);
    }
}