@Command(
        aliases = {"take"},
        usage = "<target> <item[:data]> [amount]",
        desc = "Take an item",
        flags = "",
        min = 2,
        max = 3)
    @CommandPermissions({"commandbook.take.other"})
    public void take(CommandContext args, CommandSender sender) throws CommandException {
      ItemStack item = null;
      int amt = config.defaultItemStackSize;
      Player target = null;

      // Two arguments: Player, item type
      if (args.argsLength() == 2) {
        target = PlayerUtil.matchSinglePlayer(sender, args.getString(0));
        item = matchItem(sender, args.getString(1));
        // Three arguments: Player, item type, and item amount
      } else if (args.argsLength() == 3) {
        target = PlayerUtil.matchSinglePlayer(sender, args.getString(0));
        item = matchItem(sender, args.getString(1));
        amt = args.getInteger(2);
      }

      if (item == null) {
        throw new CommandException("Something went wrong parsing the item info!");
      }
      takeItem(sender, item, amt, target);
    }