/**
  * Lookup information.
  *
  * @param string $key
  *
  * @return mixed
  */
 protected function lookup($key)
 {
     if (!$this->cache['zoneIp']) {
         $data = ['z' => $this->zone->getZone()];
         $ips = $this->client->zoneIps($this->data($data))['response']['ips'];
         foreach ($ips as $ip) {
             if ($ip['ip'] == $this->ip) {
                 $this->cache['zoneIp'] = $ip;
                 break;
             }
         }
     }
     return $this->cache['zoneIp'][$key];
 }
 /**
  * Clear the request cache.
  *
  * This method overrides the method in the parent class.
  *
  * @param string|string[] $methods
  *
  * @return $this
  */
 public function clearCache($methods = null)
 {
     if ($methods === null || $methods === 'all') {
         $this->cache = [];
     } else {
         foreach ((array) $methods as $method) {
             $this->cache[$method] = [];
             // we may need to clear out the record cache in the zone model
             // to avoid unintuitive behaviour
             if (($method == 'recLoad' || !$method) && $method !== false) {
                 $this->zone->clearRecordCache();
             }
         }
     }
     return $this;
 }