public function getListItemDetails()
    {
        $details = ArrayList::create();
        
        foreach ($this->owner->getListItemDetailsConfig() as $name => $spec) {
            
            if ($spec) {
                
                foreach ($spec as $item => $value) {
                    
                    $args = [];
                    
                    if (is_array($value)) {
                        $args  = $value;
                        $value = array_shift($args);
                    }
                    
                    $spec[$item] = $this->processListItemValue($value, $args);
                    
                }
                
                if (isset($spec['show']) && !$this->owner->{$spec['show']}) {
                    continue;
                }
                
                $details->push(
                    ArrayData::create([
                        'Name' => $name,
                        'Icon' => isset($spec['icon']) ? $spec['icon'] : null,
                        'Text' => isset($spec['text']) ? $spec['text'] : null
                    ])
                );
                
            }
            
        }
        
        return $details;
    }