public function getDetailFields()
    {
        // Create Details List:
        
        $details = ArrayList::create();
        
        // Define Details List:
        
        foreach ($this->owner->getDetailFieldsConfig() as $name => $spec) {
            
            if ($spec) {
                
                if (!is_array($spec)) {
                    $spec = ['text' => $spec];
                }
                
                foreach ($spec as $item => $value) {
                    
                    $args = [];
                    
                    if (is_array($value)) {
                        $args  = $value;
                        $value = array_shift($args);
                    }
                    
                    $spec[$item] = $this->owner->processDetailFieldValue($value, $args);
                    
                }
                
                $text = isset($spec['text']) ? $spec['text'] : null;
                
                if ($text) {
                    
                    if (isset($spec['show']) && !$this->owner->{$spec['show']}) {
                        continue;
                    }
                    
                    $details->push(
                        ArrayData::create([
                            'Name' => isset($spec['name']) ? $spec['name'] : $name,
                            'Icon' => isset($spec['icon']) ? $spec['icon'] : null,
                            'Text' => $text
                        ])
                    );
                    
                }
                
            }
            
        }
        
        // Answer Details List:
        
        return $details;
    }