src/Neutrino/Support/DesignPatterns/Strategy/StrategyTrait.php
public function uses($use = null)
    {
        if (!empty($use)) {
            if (!in_array($use, $this->supported)) {
                throw new \RuntimeException(static::class . " : $use unsupported. ");
            }
            if (!isset($this->adapters[$use])) {
                $this->adapters[$use] = $this->make($use);
            }
            $this->adapter = $this->adapters[$use];
        }

        if (empty($this->adapter)) {
            $this->adapter = $this->adapters[$this->default] = $this->make($this->default);
        }

        return $this->adapter;
    }
public function uses($use = null)
    {
        if (!empty($use)) {
            if (!in_array($use, $this->supported)) {
                throw new \RuntimeException(static::class . " : $use unsupported. ");
            }
            if (!isset($this->adapters[$use])) {
                $this->adapters[$use] = $this->make($use);
            }
            $this->adapter = $this->adapters[$use];
        }

        if (empty($this->adapter)) {
            $this->adapter = $this->adapters[$this->default] = $this->make($this->default);
        }

        return $this->adapter;
    }
Return / Change current adapter.

@param string|null $use

@return mixed
@throws \RuntimeException