Create the invoker.

@return \Lawoole\Homer\Calling\Invokers\Invoker
359258
protected function createInvoker()
    {
        $config = $this->config;

        $interface = Arr::pull($config, 'interface');
        $concrete = Arr::pull($config, 'refer', $interface);

        $invoker = new ConcreteInvoker($this->context, $interface, $concrete, $config);

        return $this->withMiddleware($invoker, $interface, $config);
    }
1001621
protected function buildServiceManager()
    {
        // ServiceManager creation
        $serviceManager = new ServiceManagerBuilder($this->getConfigManager()->getMergedConfig());
        $serviceManager->build($this->getAppParameters());
        $serviceManager->set('app', $this);

        return $serviceManager;
    }
343672
public function create()
    {
        $instance = self::createOrder($this);
        $this->setId($instance->getId());
        return $instance;
    }
29776
public function create()
    {
        $instance = self::createRefundTransaction($this);
        $this->setId($instance->getId());
        return $instance;
    }
748825
public function create()
    {
        $entityClass = $this->getEntityName();

        $reflection = new \ReflectionClass($entityClass);

        if ($reflection->isAbstract()) {
            throw RuntimeException::createAbstract($entityClass);
        }

        return new $entityClass();
    }
671892
public function create()
    {
        $instance = self::createReturnLineItem($this);
        $this->setId($instance->getId());
        return $instance;
    }
593807
public function createConnection(): ConnectionInterface
    {
        $driver    = $this->poolConfig->getDriver();
        $collector = ConnectionCollector::getCollector();

        if (App::isCoContext()) {
            $connectClassName = $this->getCorConnectClassName($collector, $driver);
        } else {
            $connectClassName = $this->getSyncConnectClassName($collector, $driver);
        }

        return new $connectClassName($this);
    }
214058
public function createService()
    {
        $translator = new TranslatorChain();

        $translator->add(new LangArrayTranslator($this->dispatcher));

        $initializer = new TranslatorInitializer($this->dispatcher);

        return $initializer->initialize($translator);
    }
111251
public static function create(): self
    {
        return new self(
            new ClosureContainer(
                [
                    'rollerworks_search.condition_exporter.json' => function () {
                        return new Exporter\JsonExporter();
                    },
                    'rollerworks_search.condition_exporter.string_query' => function () {
                        return new Exporter\StringQueryExporter();
                    },
                    'rollerworks_search.condition_exporter.norm_string_query' => function () {
                        return new Exporter\NormStringQueryExporter();
                    },
                ]
            ),
            [
                'json' => 'rollerworks_search.condition_exporter.json',
                'string_query' => 'rollerworks_search.condition_exporter.string_query',
                'norm_string_query' => 'rollerworks_search.condition_exporter.norm_string_query',
            ]
        );
    }
1125647
protected function createEach() {
        foreach ($this->providers as $class => &$data) {
            if ( ! array_get($data, 'instance')) {
                $instance = $this->getProviderInvoker()
                    ->create($class, $this->getSharedArguments());
                array_set($data, 'instance', $instance);

                $this->create();
                break;
            }
        }
    }
436991
public function create()
    {
        $params = array(
            'slug' => $this->ensureParameter('slug'),
            'name' => $this->ensureParameter('name'),
            'i18n_type' => $this->ensureParameter('i18nType'),
            'content' => $this->ensureParameter('content'),
        );

        $this->post(
            sprintf('project/%s/resources/', $this->ensureParameter('project')),
            $params
        );

        return $this;
    }
1242235
protected function doInvoke(Invocation $invocation)
    {
        return (new Pipeline($this->container))
            ->send($invocation)
            ->through($this->middleware)
            ->then(function ($invocation) {
                return $this->invoker->invoke($invocation);
            });
    }
704289
protected function createClient()
    {
        $client = new MultiCurl();

        $credentials     = $this->getCredentials();
        $isAuthenticated = $credentials instanceof SSLCertificate;

        $client->setVerifyPeer($isAuthenticated);

        if ($isAuthenticated) {
            $client->setOption(CURLOPT_SSLCERT, $credentials->getCertificatePassPhrase());
            $client->setOption(CURLOPT_SSLCERTPASSWD, $credentials->getCertificatePassPhrase());
        }

        $this->serviceClient = new Browser($client);

        return $this;
    }
650487
protected function invokeLogging() {
        $this->config['log'] = [
            'colorize' => true,
            'verbosity' => Log::ALL | ~Log::DEBUG
        ];

        $this->log = new Log();

        return $this;
    }
260216
protected function createHandle()
    {
        $curl = $this->handles ? \array_pop($this->handles) : \curl_init();
        if (false === $curl) {
            throw new ClientException('Unable to create a new cURL handle');
        }

        return $curl;
    }
1222894
public function create()
    {
        $instance = self::createWishList($this);
        $this->setId($instance->getId());
        return $instance;
    }
731286
public function createHandler()
    {
        $this->pushHeaderMiddleware(
            function (RequestInterface $request) {
                return $request->withHeader('User-Agent', Pay::CLIENT . ' v' . Pay::VERSION);
            }
        );

        $this->pushBasicAuthMiddleware(
            function (RequestInterface $request) {
                return $request->withHeader(
                    'Authorization', 'Basic ' . base64_encode(
                        $this->config->getClientId() . ':' . $this->config->getClientSecret()
                    )
                );
            }
        );

        $this->pushRetryMiddleware(self::decider(), self::delay());

        return $this->stack;
    }