public function listOsCategories($id = null, $name = null, $keyword = null, PaginationType $pagination = null)
{
$result = null;
$args = array('id' => $this->escape($id), 'name' => $this->escape($name), 'keyword' => $this->escape($keyword));
if ($pagination !== null) {
array_merge($args, $pagination->toArray());
}
$response = $this->getClient()->call('listOsCategories', $args);
if ($response->hasError() === false) {
$resultObject = $response->getResult();
if (!empty($resultObject) && property_exists($resultObject, 'count') && $resultObject->count > 0) {
$result = $this->_loadOsCategoryList($resultObject->oscategory);
}
}
return $result;
}