code: @Override
    public Object onLookup(String path, ServiceRefAmp parentRef)
    {
      StubContainerAmp container = childContainer();
      
      if (container == null) {
        return null;
      }
      
      ServiceRef serviceRef = container.getService(path);
      
      
      if (serviceRef != null) {
        return serviceRef;
      }
      
      Object value = _stubClass.onLookup(this, path);
      
      if (value == null) {
        return null;
      }
      else if (value instanceof ServiceRef) {
        return value;
      }
      else if (value instanceof ProxyHandleAmp) {
        ProxyHandleAmp handle = (ProxyHandleAmp) value;
        
        return handle.__caucho_getServiceRef();
      }
      else {
        ServicesAmp manager = parentRef.services();
        
        String address = parentRef.address() + path;
        
        ServiceConfig config = null;
        
        StubClassFactoryAmp stubFactory = manager.stubFactory();
        
        StubAmp stub;
        
        if (value instanceof StubAmp) {
          stub = (StubAmp) value;
        }
        else {
          stub = stubFactory.stub(value, address, path, container, config);
        }
        
        serviceRef = parentRef.pin(stub, address);
        
        return container.addService(path, serviceRef);
      }
    }
docs: /*
  @Override
  public void onSaveEnd(boolean isComplete)
  {
  SaveResult saveResult = new SaveResult(result);
  
  _stubClass.checkpointStart(this, saveResult.addBean());
  
  onSaveChildren(saveResult);
  
  saveResult.completeBean();
  }