code: @Override
  	public Object lookup(Name name) throws NamingException
      {
          if (name.isEmpty())
              return new FFMQJNDIContext(env, bindings);
  
          // Extract components that belong to this namespace
          String nm = name.toString();
  
          // Find object in internal hash table
          Object answer = bindings.get(nm);
          if (answer == null)
          {
          	// Dynamic queue or topic lookup
          	if (nm.startsWith("queue/") && nm.length() > 6)
          		return new QueueRef(nm.substring(nm.indexOf('/')+1));
          	if (nm.startsWith("topic/") && nm.length() > 6)
          		return new TopicRef(nm.substring(nm.indexOf('/')+1));
          	
              throw new NameNotFoundException(name + " not found");
          }
  
          return answer;
      }
docs: /*
  (non-Javadoc)
  @see javax.naming.Context#lookup(javax.naming.Name)