code: public Node getNode(String host, int port, String transport, String version)  {		
          for (Node node : balancerRunner.balancerContext.aliveNodes) {
          	if(logger.isDebugEnabled()) {
                  logger.debug("node to check against " + node);
              }
              // https://telestax.atlassian.net/browse/LB-9 Prevent Routing of Requests to Nodes that exposed null IP address
              if(node != null && node.getIp() != null && node.getIp().equals(host)&&node.getProperties().get(transport.toLowerCase() + "Port")!=null){
              	Integer nodePort = Integer.parseInt(node.getProperties().get(transport.toLowerCase() + "Port"));
                  if(nodePort != null) {
                  	if(nodePort == port) {
                          if(version == null) {
                              return node;
                          } else {
                              String nodeVersion = node.getProperties().get("version");
                              if(nodeVersion == null) nodeVersion = "0";
                              if(version.equals(nodeVersion)) {
                                  return node;
                              }
                          }
                      }
                  }
              }
          }
          if(logger.isDebugEnabled()) {
              logger.debug("checking if the node is still alive for " + host + ":" + port + "/" + transport + " : false");
          }
          return null;
      }
docs: {@inheritDoc}