Input:
	public void addComponentsToPane() {
		Container pane = getContentPane();
		pane.setLayout(new GridBagLayout());
		GridBagConstraints c;
		JToolBar toolBar = new JToolBar("Toolbar");
		toolBar.setBackground(new Color(128, 128, 128));
		toolBar.setFloatable(false);
		toolBar.setRollover(true);
		toolBar.setMargin(new Insets(8, 16, 8, 8));
		toolBar.setBorder(new EmptyBorder(new Insets(8, 16, 8, 8)));
		status_label = new JLabel(status_red);
		status_label.setPreferredSize(new Dimension(24, 64));
		toolBar.add(status_label);
		status_timer = new Timer(750, new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				if (status == Status.YELLOW) {
					if (status_label.getIcon() == status_yellow) {
						status_label.setIcon(status_off);
					} else {
						status_label.setIcon(status_yellow);
					}
				}
			}
		});
		status_timer.start();
		toolBar.addSeparator(new Dimension(16, 0));
		start_button = new JButton(start_active_icon);
		initButton(start_button);
		toolBar.add(start_button);
		start_button.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent event) {
				start_button.setIcon(start_icon);
				stop_button.setIcon(stop_active_icon);
				app.startServer();
			}
		});
		toolBar.addSeparator(new Dimension(8, 0));
		stop_button = new JButton(stop_icon);
		initButton(stop_button);
		toolBar.add(stop_button);
		stop_button.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent event) {
				start_button.setIcon(start_active_icon);
				stop_button.setIcon(stop_icon);
				app.stopServer();
			}
		});
		toolBar.addSeparator(new Dimension(8, 0));
		log_viewer_button = new JButton(log_viewer_icon);
		initButton(log_viewer_button);
		toolBar.add(log_viewer_button);
		log_viewer_button.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent event) {
				app.showLogView();
			}
		});
		toolBar.addSeparator(new Dimension(8, 0));
		usergrid_admin_button = new JButton(usergrid_admin_icon);
		initButton(usergrid_admin_button);
		toolBar.add(usergrid_admin_button);
		usergrid_admin_button.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent event) {
				if (app.serverIsStarted() && (status == Status.GREEN)) {
					storeAdminUrls();
					storeAdminEmail();
					try {
						Desktop.getDesktop().browse(getAdminURI());
					} catch (Exception e) {
					}
				} else {
					JOptionPane
							.showMessageDialog(
									null,
									"Server must be started before opening Admin Console.\n"
											+ "Please start server and wait for the status to turn green.",
									"Warning", JOptionPane.WARNING_MESSAGE);
				}
			}
		});
		c = new GridBagConstraints();
		c.anchor = GridBagConstraints.CENTER;
		c.weightx = 0.0;
		c.fill = GridBagConstraints.HORIZONTAL;
		c.gridwidth = 2;
		add(toolBar, c);
		start_database_checkbox = new JCheckBox("Start Database With Server*");
		c = new GridBagConstraints(0, 1, 2, 1, 0.0, 0.0,
				GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
				new Insets(16, 16, 8, 16), 0, 0);
		start_database_checkbox.setSelected(app.isStartDatabaseWithServer());
		start_database_checkbox.setFont(new Font("Arial", Font.BOLD, 18));
		pane.add(start_database_checkbox, c);
		start_database_checkbox.addChangeListener(new ChangeListener() {
			@Override
			public void stateChanged(ChangeEvent change) {
				app.setStartDatabaseWithServer(start_database_checkbox
						.isSelected());
			}
		});
		init_database_checkbox = new JCheckBox("Initialize Database on Start*");
		c = new GridBagConstraints(0, 2, 2, 1, 0.0, 0.0,
				GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
				new Insets(16, 16, 8, 16), 0, 0);
		init_database_checkbox.setSelected(app.isInitializeDatabaseOnStart());
		init_database_checkbox.setFont(new Font("Arial", Font.BOLD, 18));
		pane.add(init_database_checkbox, c);
		init_database_checkbox.addChangeListener(new ChangeListener() {
			@Override
			public void stateChanged(ChangeEvent change) {
				app.setInitializeDatabaseOnStart(init_database_checkbox
						.isSelected());
			}
		});
		JLabel label = new JLabel("Console URL:");
		c = new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0,
				GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
				new Insets(16, 24, 8, 0), 0, 0);
		label.setFont(new Font("Arial", Font.BOLD, 18));
		pane.add(label, c);
		String[] urls = app.getUrlsFromPreferences();
		urlList = new JComboBox(urls);
		urlList.setEditable(true);
		c = new GridBagConstraints(1, 3, 1, 1, 0.0, 0.0,
				GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(
						16, 0, 8, 16), 0, 0);
		urlList.setFont(new Font("Arial", Font.BOLD, 18));
		urlList.setPrototypeDisplayValue("XXXXXXXXXXXXXXXXXXXX");
		ComboBoxEditor editor = urlList.getEditor();
		JTextField textField = (JTextField) editor.getEditorComponent();
		textField.setColumns(20);
		setPreferredWidth(textField, 350);
		setMaxWidth(textField, 350);
		setPreferredWidth(urlList, 350);
		setMaxWidth(urlList, 350);
		pane.add(urlList, c);
		auto_login_checkbox = new JCheckBox("Auto-login as:");
		c = new GridBagConstraints(0, 4, 1, 1, 0.0, 0.0,
				GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
				new Insets(16, 16, 8, 0), 0, 0);
		auto_login_checkbox.setSelected(app.isAutoLogin());
		auto_login_checkbox.setFont(new Font("Arial", Font.BOLD, 18));
		pane.add(auto_login_checkbox, c);
		auto_login_checkbox.addChangeListener(new ChangeListener() {
			@Override
			public void stateChanged(ChangeEvent change) {
				app.setAutoLogin(auto_login_checkbox.isSelected());
			}
		});
		auto_login_email = new JTextField(app.getAdminUserEmail());
		c = new GridBagConstraints(1, 4, 1, 1, 0.0, 0.0,
				GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
				new Insets(16, 0, 8, 16), 0, 0);
		auto_login_email.setFont(new Font("Arial", Font.BOLD, 18));
		pane.add(auto_login_email, c);
		label = new JLabel(
				"* Database can only be started or initialized once per app launch");
		c = new GridBagConstraints(0, 5, 2, 1, 0.0, 0.0,
				GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
				new Insets(16, 16, 16, 0), 0, 0);
		label.setForeground(Color.RED);
		label.setFont(new Font("Arial", Font.BOLD, 12));
		pane.add(label, c);
		List<Image> icons = new ArrayList<Image>(4);
		icons.add(new ImageIcon(getClass().getClassLoader().getResource(
				"org/usergrid/launcher/icon_16.png")).getImage());
		icons.add(new ImageIcon(getClass().getClassLoader().getResource(
				"org/usergrid/launcher/icon_32.png")).getImage());
		icons.add(new ImageIcon(getClass().getClassLoader().getResource(
				"org/usergrid/launcher/icon_64.png")).getImage());
		icons.add(new ImageIcon(getClass().getClassLoader().getResource(
				"org/usergrid/launcher/icon_256.png")).getImage());
		setIconImages(icons);
	}

Output:
	public void addComponentsToPane() {
		Container pane = getContentPane();
		pane.setLayout(new GridBagLayout());
		GridBagConstraints c;
		JToolBar toolBar = new JToolBar("Toolbar");
		toolBar.setBackground(new Color(128, 128, 128));
		toolBar.setFloatable(false);
		toolBar.setRollover(true);
		toolBar.setMargin(new Insets(8, 16, 8, 8));
		toolBar.setBorder(new EmptyBorder(new Insets(8, 16, 8, 8)));
		status_label = new JLabel(status_red);
		status_label.setPreferredSize(new Dimension(24, 64));
		toolBar.add(status_label);
		status_timer = new Timer(750, new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				if (status == Status.YELLOW) {
					if (status_label.getIcon() == status_yellow) {
						status_label.setIcon(status_off);
					} else {
						status_label.setIcon(status_yellow);
					}
				}
			}
		});
		status_timer.start();
		toolBar.addSeparator(new Dimension(16, 0));
		start_button = new JButton(start_active_icon);
		initButton(start_button);
		toolBar.add(start_button);
		start_button.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent event) {
				start_button.setIcon(start_icon);
				stop_button.setIcon(stop_active_icon);
				app.startServer();
			}
		});
		toolBar.addSeparator(new Dimension(8, 0));
		stop_button = new JButton(stop_icon);
		initButton(stop_button);
		toolBar.add(stop_button);
		stop_button.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent event) {
				start_button.setIcon(start_active_icon);
				stop_button.setIcon(stop_icon);
				app.stopServer();
			}
		});
		toolBar.addSeparator(new Dimension(8, 0));
		log_viewer_button = new JButton(log_viewer_icon);
		initButton(log_viewer_button);
		toolBar.add(log_viewer_button);
		log_viewer_button.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent event) {
				app.showLogView();
			}
		});
		toolBar.addSeparator(new Dimension(8, 0));
		usergrid_admin_button = new JButton(usergrid_admin_icon);
		initButton(usergrid_admin_button);
		toolBar.add(usergrid_admin_button);
		usergrid_admin_button.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent event) {
				if (app.serverIsStarted() && (status == Status.GREEN)) {
					storeAdminUrls();
					storeAdminEmail();
          String adminUri = null;
					try {
            adminUri = getAdminURI().toString();
						Desktop.getDesktop().browse(getAdminURI());
					} catch (Exception e) {
            System.out.println("There was a problem opening default browser for this system: ");
            e.printStackTrace();
            System.out.println("You can access the URI directly here: " + adminUri);
					}
				} else {
					JOptionPane
							.showMessageDialog(
									null,
									"Server must be started before opening Admin Console.\n"
											+ "Please start server and wait for the status to turn green.",
									"Warning", JOptionPane.WARNING_MESSAGE);
				}
			}
		});
		c = new GridBagConstraints();
		c.anchor = GridBagConstraints.CENTER;
		c.weightx = 0.0;
		c.fill = GridBagConstraints.HORIZONTAL;
		c.gridwidth = 2;
		add(toolBar, c);
		start_database_checkbox = new JCheckBox("Start Database With Server*");
		c = new GridBagConstraints(0, 1, 2, 1, 0.0, 0.0,
				GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
				new Insets(16, 16, 8, 16), 0, 0);
		start_database_checkbox.setSelected(app.isStartDatabaseWithServer());
		start_database_checkbox.setFont(new Font("Arial", Font.BOLD, 18));
		pane.add(start_database_checkbox, c);
		start_database_checkbox.addChangeListener(new ChangeListener() {
			@Override
			public void stateChanged(ChangeEvent change) {
				app.setStartDatabaseWithServer(start_database_checkbox
						.isSelected());
			}
		});
		init_database_checkbox = new JCheckBox("Initialize Database on Start*");
		c = new GridBagConstraints(0, 2, 2, 1, 0.0, 0.0,
				GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
				new Insets(16, 16, 8, 16), 0, 0);
		init_database_checkbox.setSelected(app.isInitializeDatabaseOnStart());
		init_database_checkbox.setFont(new Font("Arial", Font.BOLD, 18));
		pane.add(init_database_checkbox, c);
		init_database_checkbox.addChangeListener(new ChangeListener() {
			@Override
			public void stateChanged(ChangeEvent change) {
				app.setInitializeDatabaseOnStart(init_database_checkbox
						.isSelected());
			}
		});
		JLabel label = new JLabel("Console URL:");
		c = new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0,
				GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
				new Insets(16, 24, 8, 0), 0, 0);
		label.setFont(new Font("Arial", Font.BOLD, 18));
		pane.add(label, c);
		String[] urls = app.getUrlsFromPreferences();
		urlList = new JComboBox(urls);
		urlList.setEditable(true);
		c = new GridBagConstraints(1, 3, 1, 1, 0.0, 0.0,
				GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(
						16, 0, 8, 16), 0, 0);
		urlList.setFont(new Font("Arial", Font.BOLD, 18));
		urlList.setPrototypeDisplayValue("XXXXXXXXXXXXXXXXXXXX");
		ComboBoxEditor editor = urlList.getEditor();
		JTextField textField = (JTextField) editor.getEditorComponent();
		textField.setColumns(20);
		setPreferredWidth(textField, 350);
		setMaxWidth(textField, 350);
		setPreferredWidth(urlList, 350);
		setMaxWidth(urlList, 350);
		pane.add(urlList, c);
		auto_login_checkbox = new JCheckBox("Auto-login as:");
		c = new GridBagConstraints(0, 4, 1, 1, 0.0, 0.0,
				GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
				new Insets(16, 16, 8, 0), 0, 0);
		auto_login_checkbox.setSelected(app.isAutoLogin());
		auto_login_checkbox.setFont(new Font("Arial", Font.BOLD, 18));
		pane.add(auto_login_checkbox, c);
		auto_login_checkbox.addChangeListener(new ChangeListener() {
			@Override
			public void stateChanged(ChangeEvent change) {
				app.setAutoLogin(auto_login_checkbox.isSelected());
			}
		});
		auto_login_email = new JTextField(app.getAdminUserEmail());
		c = new GridBagConstraints(1, 4, 1, 1, 0.0, 0.0,
				GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
				new Insets(16, 0, 8, 16), 0, 0);
		auto_login_email.setFont(new Font("Arial", Font.BOLD, 18));
		pane.add(auto_login_email, c);
		label = new JLabel(
				"* Database can only be started or initialized once per app launch");
		c = new GridBagConstraints(0, 5, 2, 1, 0.0, 0.0,
				GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
				new Insets(16, 16, 16, 0), 0, 0);
		label.setForeground(Color.RED);
		label.setFont(new Font("Arial", Font.BOLD, 12));
		pane.add(label, c);
		List<Image> icons = new ArrayList<Image>(4);
		icons.add(new ImageIcon(getClass().getClassLoader().getResource(
				"org/usergrid/launcher/icon_16.png")).getImage());
		icons.add(new ImageIcon(getClass().getClassLoader().getResource(
				"org/usergrid/launcher/icon_32.png")).getImage());
		icons.add(new ImageIcon(getClass().getClassLoader().getResource(
				"org/usergrid/launcher/icon_64.png")).getImage());
		icons.add(new ImageIcon(getClass().getClassLoader().getResource(
				"org/usergrid/launcher/icon_256.png")).getImage());
		setIconImages(icons);
	}


Input:
	public boolean onCommand(CommandSender sender, Command cmd, String label, String args[]){
		if(cmd.getName().equalsIgnoreCase("icu")){
			if(sender instanceof Player){
				if(args.length == 0 || args.length > 2){
					sender.sendMessage(ChatColor.YELLOW+"==========[ iControlU Help v1.5.6]==========");
					sender.sendMessage(ChatColor.BLUE+"/icu control <player>"+ChatColor.GREEN+" Enter Control Mode with <player>.");
					sender.sendMessage(ChatColor.BLUE+"/icu stop"+ChatColor.GREEN+" Exit Control Mode.");
					sender.sendMessage(ChatColor.YELLOW+"              ==========              ");
					sender.sendMessage(ChatColor.DARK_PURPLE+"Created by FireBreath15");
					sender.sendMessage(ChatColor.YELLOW+"==========[ iControlU Help v1.5.6]==========");
				}
				if(args.length == 2){
					if(args[0].equalsIgnoreCase("control")){
						if(sender.hasPermission("icu.control")){
							String name = sender.getName();
							if(!(this.getConfig().contains("controllers."+name))){
								if(this.getServer().getPlayer(args[1]) != null){
								Player victim = this.getServer().getPlayer(args[1]);
								if(!(victim.hasPermission("icu.exempt"))){
									Player s = (Player)sender;
									victim.hidePlayer(s);
									s.teleport(victim);
									s.hidePlayer(victim);
									Player[] ps = this.getServer().getOnlinePlayers();
									int pon = ps.length;
									for(int i=0; i<pon; i++){
										ps[i].hidePlayer(s);
									}
									this.getConfig().set("controlled."+victim.getName(), sender.getName());
									this.getConfig().set("controllers."+sender.getName()+".person", victim.getName());
									this.getConfig().set("controllers."+name+".controlling", true);
									this.saveConfig();
									api.storePlayerInventory(s.getName());
									api.storePlayerArmor(s.getName());
									s.getInventory().setContents(victim.getInventory().getContents());
									s.getInventory().setArmorContents(victim.getInventory().getArmorContents());
									@SuppressWarnings("unused")
									BukkitTask sync = new InvSync(this).runTaskLater(this, 20);
									s.sendMessage(ChatColor.GOLD+"[iControlU] "+ChatColor.BLUE+"Control Mode activated.");
									s.sendMessage(ChatColor.GOLD+"[iControlU] "+ChatColor.BLUE+"You begun controlling "+ChatColor.GREEN+victim.getName());
									s.sendMessage(ChatColor.GOLD+"[iControlU] "+ChatColor.BLUE+"You now control "+victim.getName()+"'s chats and movements.");
									}else{
										sender.sendMessage(ChatColor.GOLD+"[iControlU]"+ChatColor.RED+"You can't control that player!");
									}
								}else{
									sender.sendMessage(ChatColor.GOLD+"[iControlU]"+ChatColor.RED+"Player not found!");
								}
							}else{
								sender.sendMessage(ChatColor.GOLD+"[iControlU]"+ChatColor.RED+"You're already controlling someone!");
							}
						}else{
							sender.sendMessage(ChatColor.GOLD+"[iControlU]"+ChatColor.RED+"You don't have permission");
						}
					}
				}
				if(args.length == 1){
					if(args[0].equalsIgnoreCase("stop")){
						if(sender.hasPermission("icu.stop")){
					String name = sender.getName();
					if(this.getConfig().contains("controllers."+name+".controlling")){
						String player = this.getConfig().getString("controllers."+name+".person");
						Player victim = this.getServer().getPlayer(player);
						Player s = (Player)sender;
						this.getConfig().set("controlled."+victim.getName(),null);
						this.getConfig().set("controllers."+name, null);
						this.saveConfig();
						victim.showPlayer(s);
						PotionEffect effect = new PotionEffect(PotionEffectType.INVISIBILITY, 200, 1);
						s.addPotionEffect(effect);
						s.showPlayer(victim);
						Player[] ps = this.getServer().getOnlinePlayers();
						int pon = ps.length;
						for(int i=0; i<pon; i++){
							ps[i].showPlayer(s);
						}
						api.restorePlayerInventory(s.getName());
						api.restorePlayerArmor(s.getName());
						sender.sendMessage(ChatColor.GOLD+"[iControlU]"+ChatColor.RED+"You are no longer controlling someone");
					}else{
						sender.sendMessage(ChatColor.GOLD+"[iControlU]"+ChatColor.RED+"You aren't controlling anyone!");
					}
					}else{
						sender.sendMessage(ChatColor.GOLD+"[iControlU]"+ChatColor.RED+"You don't have permission!");
					}
					}
				}
			}else{
				sender.sendMessage(ChatColor.GOLD+"[iControlU]"+ChatColor.RED+"iControlU commands can only be sent from a player!");
			}
			return true;
		}
		return false;
	}

Output:
	public boolean onCommand(CommandSender sender, Command cmd, String label, String args[]){
		if(cmd.getName().equalsIgnoreCase("icu")){
			if(sender instanceof Player){
				if(args.length == 0 || args.length > 2){
					sender.sendMessage(ChatColor.YELLOW+"==========[ iControlU Help v1.5.7]==========");
					sender.sendMessage(ChatColor.BLUE+"/icu control <player>"+ChatColor.GREEN+" Enter Control Mode with <player>.");
					sender.sendMessage(ChatColor.BLUE+"/icu stop"+ChatColor.GREEN+" Exit Control Mode.");
					sender.sendMessage(ChatColor.YELLOW+"              ==========              ");
					sender.sendMessage(ChatColor.DARK_PURPLE+"Created by FireBreath15");
					sender.sendMessage(ChatColor.YELLOW+"==========[ iControlU Help v1.5.7]==========");
				}
				if(args.length == 2){
					if(args[0].equalsIgnoreCase("control")){
						if(sender.hasPermission("icu.control")){
							String name = sender.getName();
							if(!(this.getConfig().contains("controllers."+name))){
								if(this.getServer().getPlayer(args[1]) != null){
								Player victim = this.getServer().getPlayer(args[1]);
								if(!(victim.hasPermission("icu.exempt"))){
									Player s = (Player)sender;
									victim.hidePlayer(s);
									s.teleport(victim);
									s.hidePlayer(victim);
									Player[] ps = this.getServer().getOnlinePlayers();
									int pon = ps.length;
									for(int i=0; i<pon; i++){
										ps[i].hidePlayer(s);
									}
									this.getConfig().set("controlled."+victim.getName(), sender.getName());
									this.getConfig().set("controllers."+sender.getName()+".person", victim.getName());
									this.getConfig().set("controllers."+name+".controlling", true);
									this.saveConfig();
									api.storePlayerInventory(s.getName());
									api.storePlayerArmor(s.getName());
									s.getInventory().setContents(victim.getInventory().getContents());
									s.getInventory().setArmorContents(victim.getInventory().getArmorContents());
									@SuppressWarnings("unused")
									BukkitTask sync = new InvSync(this).runTaskLater(this, 20);
									s.sendMessage(ChatColor.GOLD+"[iControlU] "+ChatColor.BLUE+"Control Mode activated.");
									s.sendMessage(ChatColor.GOLD+"[iControlU] "+ChatColor.BLUE+"You begun controlling "+ChatColor.GREEN+victim.getName());
									s.sendMessage(ChatColor.GOLD+"[iControlU] "+ChatColor.BLUE+"You now control "+victim.getName()+"'s chats and movements.");
									}else{
										sender.sendMessage(ChatColor.GOLD+"[iControlU]"+ChatColor.RED+" You can't control that player!");
									}
								}else{
									sender.sendMessage(ChatColor.GOLD+"[iControlU]"+ChatColor.RED+" Player not found!");
								}
							}else{
								sender.sendMessage(ChatColor.GOLD+"[iControlU]"+ChatColor.RED+" You're already controlling someone!");
							}
						}else{
							sender.sendMessage(ChatColor.GOLD+"[iControlU]"+ChatColor.RED+" You don't have permission");
						}
					}
				}
				if(args.length == 1){
					if(args[0].equalsIgnoreCase("stop")){
						if(sender.hasPermission("icu.stop")){
					String name = sender.getName();
					if(this.getConfig().contains("controllers."+name+".controlling")){
						String player = this.getConfig().getString("controllers."+name+".person");
						Player victim = this.getServer().getPlayer(player);
						Player s = (Player)sender;
						this.getConfig().set("controlled."+victim.getName(),null);
						this.getConfig().set("controllers."+name, null);
						this.saveConfig();
						victim.showPlayer(s);
						PotionEffect effect = new PotionEffect(PotionEffectType.INVISIBILITY, 200, 1);
						s.addPotionEffect(effect);
						s.showPlayer(victim);
						Player[] ps = this.getServer().getOnlinePlayers();
						int pon = ps.length;
						for(int i=0; i<pon; i++){
							ps[i].showPlayer(s);
						}
						api.restorePlayerInventory(s.getName());
						api.restorePlayerArmor(s.getName());
						sender.sendMessage(ChatColor.GOLD+"[iControlU]"+ChatColor.RED+" You are no longer controlling someone");
					}else{
						sender.sendMessage(ChatColor.GOLD+"[iControlU]"+ChatColor.RED+" You aren't controlling anyone!");
					}
					}else{
						sender.sendMessage(ChatColor.GOLD+"[iControlU]"+ChatColor.RED+" You don't have permission!");
					}
					}
				}
			}else{
				sender.sendMessage(ChatColor.GOLD+"[iControlU]"+ChatColor.RED+" iControlU commands can only be sent from a player!");
			}
			return true;
		}
		return false;
	}


Input:
	public Reader lshistory(String format, Date lastBuildDate, String viewName,
			String branch, String[] viewPaths) throws IOException,
			InterruptedException {
		SimpleDateFormat formatter = new SimpleDateFormat("d-MMM.HH:mm:ss");
		ArgumentListBuilder cmd = new ArgumentListBuilder();
		cmd.add("lshistory");
		cmd.add("-r");
		cmd.add("-since", formatter.format(lastBuildDate).toLowerCase());
		cmd.add("-fmt", format);
		if ((branch != null) && (branch.length() > 0)) {
			cmd.add("-branch", "brtype:" + branch);
		}
		cmd.add("-nco");
		FilePath viewPath = getRootViewPath(launcher).child(viewName);
		for (String path : viewPaths) {
			cmd.add(path.replace("\\n",""));
		}
		Reader returnReader = null;
		ByteArrayOutputStream baos = new ByteArrayOutputStream();
		if (launcher.run(cmd.toCommandArray(), null, baos, viewPath)) {
			returnReader = new InputStreamReader(new ByteArrayInputStream(baos
					.toByteArray()));
		}
		baos.close();
		return returnReader;
	}

Output:
	public Reader lshistory(String format, Date lastBuildDate, String viewName,
			String branch, String[] viewPaths) throws IOException,
			InterruptedException {
		SimpleDateFormat formatter = new SimpleDateFormat("d-MMM.HH:mm:ss");
		ArgumentListBuilder cmd = new ArgumentListBuilder();
		cmd.add("lshistory");
		cmd.add("-r");
		cmd.add("-since", formatter.format(lastBuildDate).toLowerCase());
		cmd.add("-fmt", format);
		if ((branch != null) && (branch.length() > 0)) {
			cmd.add("-branch", "brtype:" + branch);
		}
		cmd.add("-nco");
		FilePath viewPath = getRootViewPath(launcher).child(viewName);
		for (String path : viewPaths) {
			cmd.add(path.replace("\n",""));
		}
		Reader returnReader = null;
		ByteArrayOutputStream baos = new ByteArrayOutputStream();
		if (launcher.run(cmd.toCommandArray(), null, baos, viewPath)) {
			returnReader = new InputStreamReader(new ByteArrayInputStream(baos
					.toByteArray()));
		}
		baos.close();
		return returnReader;
	}