public function denormalize($data, $class, $format = null, array $context = [])
 {
     if (empty($data)) {
         return null;
     }
     if (isset($data->{'$ref'})) {
         return new Reference($data->{'$ref'}, $context['rootSchema'] ?: null);
     }
     $object = new \Docker\API\Model\NetworkConfig();
     if (!isset($context['rootSchema'])) {
         $context['rootSchema'] = $object;
     }
     if (isset($data->{'Bridge'})) {
         $object->setBridge($data->{'Bridge'});
     }
     if (isset($data->{'Gateway'})) {
         $object->setGateway($data->{'Gateway'});
     }
     if (isset($data->{'IPAddress'})) {
         $object->setIPAddress($data->{'IPAddress'});
     }
     if (isset($data->{'IPPrefixLen'})) {
         $object->setIPPrefixLen($data->{'IPPrefixLen'});
     }
     if (isset($data->{'MacAddress'})) {
         $object->setMacAddress($data->{'MacAddress'});
     }
     if (isset($data->{'PortMapping'})) {
         $object->setPortMapping($data->{'PortMapping'});
     }
     if (isset($data->{'Networks'})) {
         $values_121 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS);
         foreach ($data->{'Networks'} as $key_123 => $value_122) {
             $values_121[$key_123] = $this->serializer->deserialize($value_122, 'Docker\\API\\Model\\ContainerNetwork', 'raw', $context);
         }
         $object->setNetworks($values_121);
     }
     if (isset($data->{'Ports'})) {
         $values_124 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS);
         foreach ($data->{'Ports'} as $key_126 => $value_125) {
             $value_127 = $value_125;
             if (is_array($value_125)) {
                 $values_128 = [];
                 foreach ($value_125 as $value_129) {
                     $values_128[] = $this->serializer->deserialize($value_129, 'Docker\\API\\Model\\PortBinding', 'raw', $context);
                 }
                 $value_127 = $values_128;
             }
             if (is_null($value_125)) {
                 $value_127 = $value_125;
             }
             $values_124[$key_126] = $value_127;
         }
         $object->setPorts($values_124);
     }
     return $object;
 }
 public function denormalize($data, $class, $format = null, array $context = [])
 {
     if (empty($data)) {
         return null;
     }
     if (isset($data->{'$ref'})) {
         return new Reference($data->{'$ref'}, $context['rootSchema'] ?: null);
     }
     $object = new \Docker\API\Model\NetworkConfig();
     if (!isset($context['rootSchema'])) {
         $context['rootSchema'] = $object;
     }
     if (property_exists($data, 'Bridge')) {
         $object->setBridge($data->{'Bridge'});
     }
     if (property_exists($data, 'Gateway')) {
         $object->setGateway($data->{'Gateway'});
     }
     if (property_exists($data, 'IPAddress')) {
         $object->setIPAddress($data->{'IPAddress'});
     }
     if (property_exists($data, 'IPPrefixLen')) {
         $object->setIPPrefixLen($data->{'IPPrefixLen'});
     }
     if (property_exists($data, 'MacAddress')) {
         $object->setMacAddress($data->{'MacAddress'});
     }
     if (property_exists($data, 'PortMapping')) {
         $object->setPortMapping($data->{'PortMapping'});
     }
     if (property_exists($data, 'Networks')) {
         $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS);
         foreach ($data->{'Networks'} as $key => $value) {
             $values[$key] = $this->serializer->deserialize($value, 'Docker\\API\\Model\\ContainerNetwork', 'raw', $context);
         }
         $object->setNetworks($values);
     }
     if (property_exists($data, 'Ports')) {
         $values_1 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS);
         foreach ($data->{'Ports'} as $key_1 => $value_1) {
             $value_2 = $value_1;
             if (is_array($value_1)) {
                 $values_2 = [];
                 foreach ($value_1 as $value_3) {
                     $values_2[] = $this->serializer->deserialize($value_3, 'Docker\\API\\Model\\PortBinding', 'raw', $context);
                 }
                 $value_2 = $values_2;
             }
             if (is_null($value_1)) {
                 $value_2 = $value_1;
             }
             $values_1[$key_1] = $value_2;
         }
         $object->setPorts($values_1);
     }
     return $object;
 }
 public function denormalize($data, $class, $format = null, array $context = [])
 {
     if (empty($data)) {
         return null;
     }
     if (isset($data->{'$ref'})) {
         return new Reference($data->{'$ref'}, $context['rootSchema'] ?: null);
     }
     $object = new \Docker\API\Model\NetworkConfig();
     if (!isset($context['rootSchema'])) {
         $context['rootSchema'] = $object;
     }
     if (isset($data->{'Bridge'})) {
         $object->setBridge($data->{'Bridge'});
     }
     if (isset($data->{'Gateway'})) {
         $object->setGateway($data->{'Gateway'});
     }
     if (isset($data->{'IPAddress'})) {
         $object->setIPAddress($data->{'IPAddress'});
     }
     if (isset($data->{'IPPrefixLen'})) {
         $object->setIPPrefixLen($data->{'IPPrefixLen'});
     }
     if (isset($data->{'MacAddress'})) {
         $object->setMacAddress($data->{'MacAddress'});
     }
     if (isset($data->{'PortMapping'})) {
         $object->setPortMapping($data->{'PortMapping'});
     }
     if (isset($data->{'Ports'})) {
         $values_99 = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS);
         foreach ($data->{'Ports'} as $key_101 => $value_100) {
             $value_102 = $value_100;
             if (is_array($value_100)) {
                 $values_103 = [];
                 foreach ($value_100 as $value_104) {
                     $values_103[] = $this->serializer->deserialize($value_104, 'Docker\\API\\Model\\PortBinding', 'raw', $context);
                 }
                 $value_102 = $values_103;
             }
             if (is_null($value_100)) {
                 $value_102 = $value_100;
             }
             $values_99[$key_101] = $value_102;
         }
         $object->setPorts($values_99);
     }
     return $object;
 }
 public function denormalize($data, $class, $format = null, array $context = [])
 {
     if (empty($data)) {
         return null;
     }
     if (isset($data->{'$ref'})) {
         return new Reference($data->{'$ref'}, $context['rootSchema'] ?: null);
     }
     $object = new \Docker\API\Model\NetworkConfig();
     if (!isset($context['rootSchema'])) {
         $context['rootSchema'] = $object;
     }
     if (isset($data->{'Bridge'})) {
         $object->setBridge($data->{'Bridge'});
     }
     if (isset($data->{'Gateway'})) {
         $object->setGateway($data->{'Gateway'});
     }
     if (isset($data->{'IPAddress'})) {
         $object->setIPAddress($data->{'IPAddress'});
     }
     if (isset($data->{'IPPrefixLen'})) {
         $object->setIPPrefixLen($data->{'IPPrefixLen'});
     }
     if (isset($data->{'MacAddress'})) {
         $object->setMacAddress($data->{'MacAddress'});
     }
     if (isset($data->{'PortMapping'})) {
         $object->setPortMapping($data->{'PortMapping'});
     }
     if (isset($data->{'Ports'})) {
         $values_99 = [];
         foreach ($data->{'Ports'} as $value_100) {
             $values_99[] = $this->serializer->deserialize($value_100, 'Docker\\API\\Model\\Port', 'raw', $context);
         }
         $object->setPorts($values_99);
     }
     return $object;
 }