This reduces the boilerplate code needed to parse arguments in each command, and reduces the need to maintain command documentation with @Command.
Example:
@Command(aliases = "/set", desc = "Set all the blocks inside the selection to a block")
@CommandPermissions("worldedit.region.set")
@Logging(REGION)
void setBlocks(LocalPlayer player, EditSession editSession, @Selection Region region, Pattern replaceWith) {
// Perform command
}