public function listModelColumnNames()
 {
     $modelClass = $this->getModelClassDesignTime();
     $key = md5('builder-global-model-list-' . $modelClass);
     $cached = Cache::get($key, false);
     if ($cached !== false && ($cached = @unserialize($cached)) !== false) {
         return $cached;
     }
     $pluginCodeObj = PluginCode::createFromNamespace($modelClass);
     $modelClassParts = explode('\\', $modelClass);
     // The full class name is already validated in PluginCode::createFromNamespace()
     $modelClass = array_pop($modelClassParts);
     $columnNames = ModelModel::getModelFields($pluginCodeObj, $modelClass);
     $result = [];
     foreach ($columnNames as $columnName) {
         $result[$columnName] = $columnName;
     }
     Cache::put($key, serialize($result), 1);
     return $result;
 }