/**
  * Returns an array of the portability providers for this provisioner. If
  * no sub-provisioners are portable, an empty array will be returned.
  *
  * @param string $name The provisioner id. If null, the default provisioner is used.
  *
  * @return array|\DreamFactory\Enterprise\Common\Contracts\PortableData[] An array of portability services keyed by PortableTypes
  */
 public function getPortableServices($name = null)
 {
     $name = GuestLocations::resolve($name ?: $this->getDefaultProvisioner());
     $_services = [];
     $_list = config('provisioners.hosts.' . $name . '.provides', []);
     //  Spin through the services
     foreach ($_list as $_key => $_definition) {
         if (PortableTypes::contains($_key)) {
             if (($_service = $this->resolve($name, $_key)) instanceof PortableData) {
                 $_services[$_key] = $_service;
             }
         }
     }
     //  Return the array
     return $_services;
 }