private void add() {

		BufferedReader bufferRead = new BufferedReader(new InputStreamReader(
				System.in));
		Agent agent;
		Connection connection;
		Service service;
		String s;
		int i;

		try {
			UI.printHeader();
			System.out.print("Introduce un alias para la conexión: ");
			String alias = bufferRead.readLine();
			String[] options;

			connection = new Connection(alias);
			connections.add(connection);

			// Selección de agente
			
			UI.printHeader();
			System.out.println("Lista de agentes disponibiles:");

			System.out.println(agents.size() + " agentes activos:");
			System.out.println("");

			for (i = 0; i < agents.size(); i++) {
				agent = agents.get(i);
				System.out.println((i + 1) + ") Agente: " + agent.getType()
						+ "  Alias: " + agent.getAlias() + " IP: "
						+ agent.getIP());
			}
			System.out.println("");
			System.out
					.print("Selecciona los agentes separados por coma que deseas agregar a la conexión: ");

			s = bufferRead.readLine();

			options = s.split(",");

			for (i = 0; i < options.length; i++) {
				System.out.println("Seleccionado agente: " + (Integer.parseInt(options[i])-1));
				connection.addAgent(agents.get(Integer.parseInt(options[i])-1));
			}

			// Selección de servicio

			UI.printHeader();
			System.out.println("Lista de servicios disponibiles:");

			System.out.println(services.size() + " servicios activos:");
			System.out.println("");

			for (i = 0; i < services.size(); i++) {
				service = services.get(i);
				System.out.println((i + 1) + ") Servicio: " + service.getType()
						+ "  Alias: " + service.getAlias());
			}
			System.out
					.print("Selecciona los servicios separados por coma que deseas agregar a la conexión: ");

			s = bufferRead.readLine();

			options = s.split(",");

			for (i = 0; i < options.length; i++) {
				connection
						.addService(services.get(Integer.parseInt(options[i])-1));
			}
			
			UI.clearError();
		} catch (NumberFormatException e) {
			UI.setError("Opción no válida");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}