@Override
	public List<IApplicationPortForwarding> startPortForwarding()
			throws OpenShiftSSHOperationException {
		if (!hasSSHSession()) {
			throw new OpenShiftSSHOperationException(
					"SSH session for application \"{0}\" is closed or null. Cannot start port forwarding",
					getName());
		}
		for (IApplicationPortForwarding port : getForwardablePorts()) {
			try {
				port.setLocalAddress(getLocalAddress());
				int local = getFirstFreePort(port.getRemotePort());
				if (local < 0) {
					throw new RuntimeException("not enaught free ports");
				}
				port.setLocalPort(local);
				port.start(session);
			} catch (OpenShiftSSHOperationException oss) {
				/*
				 * ignore for now FIXME: should store this error on the forward
				 * to let user know why it could not start/stop
				 */
			}
		}
		return ports;
	}