def _get_netscaler_updatenode_protocol_task(self, loadBalancerId,
                                                loadBalancer, node,
                                                newLoadBalancerId):

        servicename = NitroUtils.get_servicename_from_nodeid(
            loadBalancerId, node.id)

        if not "protocol" in loadBalancer:
            return None

        lbprotocol = loadBalancer.protocol

        servicetype = NitroUtils.get_servicetype_from_protocol(lbprotocol)
        servicetype = NitroUtils.get_decrypted_version_of_servicetype(
            servicetype)

        service = {}
        service["name"] = servicename
        service["protocol"] = servicetype

        task = {}
        task["name"] = servicename
        task["type"] = "service"
        task["operation"] = "UPDATE"
        task["state"] = service

        return task
    def _get_netscaler_service_from_node(self, loadBalancerId, loadBalancer, nodeId, node):

        service_obj = {}
     

        for key in node:
 
            self.logger.debug("Examining key \"%s\" of node object" % key)

            if key == "_properties":
                continue

            if key == "id":
                service_obj["name"] = NitroUtils.get_servicename_from_nodeid(loadBalancerId, nodeId)
                continue

            if key == "address":
                service_obj["ip"] = node.address
                continue 
            
            if key == "port":
                service_obj["port"] = node.port
                continue                


        if loadBalancer:
            servicetype = NitroUtils.get_servicetype_from_protocol(loadBalancer.protocol)
            servicetype = NitroUtils.get_decrypted_version_of_servicetype(servicetype)
            service_obj["servicetype"] = servicetype 


        return service_obj