removeBinding(nodeId, binding.getQueue().getName());
removeBinding(nodeId.intValue(), binding.getQueue().getName());
   private void removeBindingsForAddress(Address address) throws Exception   {      lock.writeLock().acquire();            try      {          Iterator iter = nodeIdAddressMap.entrySet().iterator();                  String nodeId = null;         while (iter.hasNext())         {            Map.Entry entry = (Map.Entry)iter.next();                        Address adr = (Address)entry.getValue();                        if (adr.equals(address))            {               nodeId = (String)entry.getKey();            }         }                  if (nodeId == null)         {            throw new IllegalStateException("Cannot find node id for address: " + address);         }                  Map nameMap = (Map)nameMaps.get(nodeId);         if (nameMap != null)         {            List toRemove = new ArrayList();                        iter = nameMap.values().iterator();                        while (iter.hasNext())            {               Binding binding = (Binding)iter.next();                              if (!binding.getQueue().isRecoverable())               {                  //We only remove the non durable bindings - we still need to be able to handle                  //messages for a durable subscription "owned" by a node that is not active any more!                  toRemove.add(binding);               }            }                        iter = toRemove.iterator();                        while (iter.hasNext())            {               Binding binding = (Binding)iter.next();                              removeBinding(nodeId, binding.getQueue().getName());            }         }                  //Remove the address mapping         nodeIdAddressMap.remove(nodeId);      }      finally      {         lock.writeLock().release();      }   }