public function bind()
    {
        if ($this->providersLoaded) {
            return $this;
        }

        $this->providers = new ProvidersCollection($this->providersRepository->all());

        foreach ($this->providerGateways as & $providerGateway) {
            $providers = $this->providers->filterByGatewayName($providerGateway->getName());

            foreach ($providers as & $provider) {
                $provider->setProviderGateway($providerGateway);
            }
        }

        $this->providersLoaded = true;

        return $this;
    }