public function hasProperty($key)
    {
        return
            (null !== $this->properties) &&
            (
                array_key_exists((string) $key, $this->properties) ||
                array_key_exists('tree_' . $key, $this->properties)
            );
    }