code: public void startLocalForwarding(String addressToBind, int portToBind,
  			String hostToConnect, int portToConnect) throws SshException {
  		String key = generateKey(addressToBind, portToBind);
  
  		SocketListener listener = new SocketListener(addressToBind, portToBind,
  				hostToConnect, portToConnect);
  
  		listener.start();
  
  		socketlisteners.put(key, listener);
  
  		if (!outgoingtunnels.containsKey(key)) {
  			outgoingtunnels.put(key, new Vector<ActiveTunnel>());
  		}
  
  		for (int i = 0; i < clientlisteners.size(); i++) {
  			((ForwardingClientListener) clientlisteners.elementAt(i))
  					.forwardingStarted(
  							ForwardingClientListener.LOCAL_FORWARDING, key,
  							hostToConnect, portToConnect);
  		}
  		EventServiceImplementation
  				.getInstance()
  				.fireEvent(
  						(new Event(this,
  								J2SSHEventCodes.EVENT_FORWARDING_LOCAL_STARTED,
  								true))
  								.addAttribute(
  										J2SSHEventCodes.ATTRIBUTE_FORWARDING_TUNNEL_ENTRANCE,
  										key)
  								.addAttribute(
  										J2SSHEventCodes.ATTRIBUTE_FORWARDING_TUNNEL_EXIT,
  										hostToConnect + ":" + portToConnect));
  	}
docs: Start's a local listening socket and forwards any connections made to the
  to the remote side.
  
  @param addressToBind
  the listening address
  @param portToBind
  the listening port
  @param hostToConnect
  the host to connect on the remote side
  @param portToConnect
  the port to connect on the remote side
  @throws IOException