code: public boolean addBalancer(String addr, int sipPort, int httpPort, int rmiPort) {
  		if (addr == null)
  			throw new NullPointerException("addr cant be null!!!");
  
  		InetAddress address = null;
  		try {
  			address = InetAddress.getByName(addr);
  		} catch (UnknownHostException e) {
  			throw new IllegalArgumentException(
  					"Something wrong with host creation.", e);
  		}		
  		String balancerName = address.getCanonicalHostName() + ":" + rmiPort;
  
  		if (register.get(balancerName) != null) {
  			logger.logInfo("Sip balancer " + balancerName + " already present, not added");
  			return false;
  		}		
  
  		SipLoadBalancer sipLoadBalancer = new SipLoadBalancer(this, address, sipPort, httpPort, rmiPort);
  		register.put(balancerName, sipLoadBalancer);
  
  		// notify the listeners
  		for (LoadBalancerHeartBeatingListener loadBalancerHeartBeatingListener : loadBalancerHeartBeatingListeners) {
  			loadBalancerHeartBeatingListener.loadBalancerAdded(sipLoadBalancer);
  		}
  
  		if(logger.isLoggingEnabled(StackLogger.TRACE_DEBUG)) {
  			logger.logDebug("following balancer name : " + balancerName +"/address:"+ addr + " added");
  		}
  		
  		return true;
  	}
docs: {@inheritDoc}