private function generateObjectNames($value)
    {
        $reversiveStack = array();
        $reversiveStack[] = $value; // add original value. It will be called last
        $reversiveStack[] = $this->removeArrayBrackets($value); //
        $reversiveStack[] = $this->getIntuitName($this->removeArrayBrackets($value));
        $reversiveStack[] = $this->getIntuitName($this->removeArrayBrackets($this->getClassNameFromPackagePath($value)));
        $reversiveStack[] = $this->removeArrayBrackets($this->getClassNameFromPackagePath($value));
        $reversiveStack[] = $this->getClassNameFromPackagePath($value);
        return array_reverse($reversiveStack);
    }