@Override
	public void execute(CommandSender sender, String gateName, List<String> args) {
		this.sender = sender;
		
		if (gateName == null) {
			error("No gate given.");
			reply("Usage: /gate delete <gatename>");
		} else if (!gateExists(gateName)) {
			reply("Gate not found: " + gateName);
		} else {
			DataGate thisGate = getGate(gateName);
			
			for (DataGate checkGate : plugin.getGates()) {
				if (checkGate.hasTarget() && checkGate.getTarget().equals(thisGate)) {
					checkGate.unlink();
				}
			}

			plugin.getGates().remove(thisGate);
			reply("Gate " + gateName + " removed.");
		}
	}