public function resolveArrayPath($path)
    {
        $path = explode('.', $this->escape($path));
        $root = $path[0];
        unset($path[0]);

        $arrayPath = '["'.implode('"]["', $path).'"]';

        $arrayBracket = '->';
        $arrayBracketEnd = '';

        if ($this->isArray()) {
            $arrayBracket = '["';
            $arrayBracketEnd = '"]';
        }

        return '$this->object'.$arrayBracket.$root.$arrayBracketEnd.$arrayPath;
    }