public function getProperty($ns, $name)
    {
        if ($name === null) {
            return null;
        }
        $o = $this->getPropertyHook($ns, $name, false);
        if ($o !== null) {
            return $o;
        }

        $found = $this->properties[$name] ?? null;
        // check to see if there are unresolved property references
        if (false !== strpos($found, '${')) {
            // attempt to resolve properties
            $found = $this->replaceProperties(null, $found, null);
            // save resolved value
            $this->properties[$name] = $found;
        }

        return $found;
    }