public function listSubnets($subnetId = null, ListSubnetsFilter $filter = null)
{
$result = null;
$detailed = $subnetId !== null ? sprintf("/%s", $this->escape($subnetId)) : '';
$response = $this->getClient()->call($this->service, '/subnets' . $detailed . ($filter !== null ? '?' . $filter->getQueryString() : ''));
if ($response->hasError() === false) {
$result = json_decode($response->getContent());
if (empty($detailed)) {
$result = new DefaultPaginationList($this->service, 'subnets', $result->subnets, isset($result->subnets_links) ? $result->subnets_links : null);
} else {
$result = $result->subnet;
}
}
return $result;
}