protected function _invokeSet($name, $value)
    {
        if (!self::__isInvokable($name)) {
            return $this;
        }
        $is_static = self::__isStatic($name);
        $property = $this->findPropertyName($name);
        if (!empty($property)) {
            if ($is_static) {
                $this::${$property} = $value;
            } else {
                $this->{$property} = $value;
            }
        }
        return $this;
    }