code: public INameable get(String name) {
          if (name == null)
              throw new IllegalStateException("name must not be null");
  
          if (_nameMap == null)
              return null;
  
          TrackingObject to = (TrackingObject) _nameMap.get(name);
  
          // The object wasn't found
          if (to == null)
              return null;
  
          // If the object has been reclaimed, then we remove the named object from the map.
          WeakReference wr = to.getWeakINameable();
          INameable o = (INameable) wr.get();
          if (o == null) {
              synchronized (_nameMap) { _nameMap.remove(name); }
              return null;
          }
          return o;
      }
docs: Given the name, return the <code>INameable</code> object stored by the <code>NameService</code>.  Objects
  are stored in the <code>NameService</code> using <code>WeakReference</code>s so this will not keep an object
  alive.  If the object is not found or has been reclaimed, this method will return null.
  @param name The name of the object to get from the <code>NameService</code>
  @return INameable If the named object is stored by the name service, it will be returned otherwise
  <code>null</code> is returned.