code: func (stub *Stub) Activate(createRemoteContext func() (*RemoteContext, error)) error {
  	stub.lock.Lock()
  	defer stub.lock.Unlock()
  	// Check if the stub has already been activated while we were waiting for the lock
  	if stub.isActive() {
  		return nil
  	}
  	remoteStub, err := createRemoteContext()
  	if err != nil {
  		return errors.WithStack(err)
  	}
  
  	stub.RemoteContext = remoteStub
  	return nil
  }
docs: // Activate creates a remote context with the given function callback
  // in an atomic manner - if two parallel invocations are invoked on this Stub,
  // only a single invocation of createRemoteStub takes place.