String filter = queue.getFilter() == null ? null : queue.getFilter().getFilterString();
   public Binding bindQueue(String queueName, String condition, Queue queue) throws Exception   {      if (queueName == null)      {         throw new IllegalArgumentException("Queue name is null");      }            if (condition == null)      {         throw new IllegalArgumentException("Condition is null");      }            lock.writeLock().acquire();      try      {                  //We currently only allow one binding per name per node         Map nameMap = (Map)nameMaps.get(this.nodeId);                  Binding binding = null;                  if (nameMap != null)         {            binding = (Binding)nameMap.get(queueName);         }                  if (binding != null)         {            throw new IllegalArgumentException("Binding already exists for name " + queueName);         }                  boolean durable = queue.isRecoverable();                  String filter = queue.getFilter() == null ? null : queue.getFilter().getFilterString();                             binding = createBinding(nodeId, queueName, condition, filter,                                   queue.getChannelID(), durable);                           binding.setQueue(queue);                  binding.activate();                  addBinding(binding);                        if (durable)         {            //Need to write the binding to the db                        insertBinding(binding);                }                                    return binding;         }      finally      {         lock.writeLock().release();      }   }   