protected function setValue($key, $val)
{
if (strpos($key, self::ISPK_ARRAY_PATH_SEPARATOR) !== false) {
$key = trim($key, self::ISPK_ARRAY_PATH_SEPARATOR);
$keys = explode(self::ISPK_ARRAY_PATH_SEPARATOR, $key);
return $this->setValueRecursive($keys, $val, $this->source);
} else {
$this->source[$key] = $val;
return $this->source[$key];
}
}