code: public function filter(OptionsInterface $options, $value)
      {
          if (is_callable($value)) {
              $value = call_user_func($value, $options);
          }
  
          if ($value instanceof FactoryInterface) {
              return $value;
          } elseif (is_array($value)) {
              $factory = $this->getDefault($options);
  
              foreach ($value as $scheme => $initializer) {
                  $factory->define($scheme, $initializer);
              }
  
              return $factory;
          } else {
              $class = get_called_class();
  
              throw new \InvalidArgumentException("$class expects a valid connection factory");
          }
      }
docs: {@inheritdoc}