if (binding.getNodeId().equals(this.nodeId))
if (binding.getNodeId() == this.nodeId)
   public void routeFromCluster(org.jboss.messaging.core.Message message, String routingKey,                                Map queueNameNodeIdMap) throws Exception   {      log.info(this.nodeId + " received route from cluster, ref = " + message.getMessageID() + " routing key " +               routingKey + " map " + queueNameNodeIdMap);            lock.readLock().acquire();              // Need to reference the message      MessageReference ref = null;      try      {         if (message.isReliable())         {            // It will already have been persisted on the sender's side            message.setPersisted(true);         }                  ref = ms.reference(message);                       // We route on the condition         DefaultClusteredBindings cb = (DefaultClusteredBindings)conditionMap.get(routingKey);                  if (cb != null)         {                                  Collection bindings = cb.getAllBindings();                        Iterator iter = bindings.iterator();                        while (iter.hasNext())            {               Binding binding = (Binding)iter.next();                                                                    if (binding.getNodeId().equals(this.nodeId))               {                    boolean handle = true;                                    if (queueNameNodeIdMap != null)                  {                                          String desiredNodeId = (String)queueNameNodeIdMap.get(binding.getQueue().getName());                                          //When there are more than one queues with the same name across the cluster we only                     //want to chose one of them                                          if (desiredNodeId != null)                     {                        handle = desiredNodeId.equals(nodeId);                     }                  }                                    if (handle)                  {                                          //It's a local binding so we pass the message on to the subscription                                          LocalClusteredQueue queue = (LocalClusteredQueue)binding.getQueue();                                          Delivery del = queue.handleFromCluster(ref);                           }               }            }                                   }      }      finally      {         if (ref != null)         {            ref.releaseMemoryReference();         }         lock.readLock().release();      }   }