private function getPropertiesInstance($instance)
 {
     $properties = array();
     $ReflectionObject = new \ReflectionObject($instance);
     $ConnectionOptions = $this->getConnectionManager()->getConnectionOptions();
     $properties['prefix'] = $ConnectionOptions['prefix'];
     $properties['table'] = $ReflectionObject->hasConstant('table') ? $ConnectionOptions['prefix'] . $instance::table : null;
     $properties['primary'] = $ReflectionObject->hasConstant('primary') ? $instance::primary : null;
     $properties['title'] = $ReflectionObject->hasConstant('title') ? $instance::title : null;
     $properties['instance'] = $instance;
     $properties['namespace'] = get_class($instance);
     $properties['has_relation'] = $ReflectionObject->hasMethod('getDefinitionRelations') ? true : false;
     $properties['has_sluggable'] = $ReflectionObject->hasMethod('getFieldsSluggable') ? true : false;
     $properties['has_sluggable'] = $ReflectionObject->hasMethod('getFieldsSluggable') ? true : false;
     $properties['has_timestampable'] = $ReflectionObject->hasConstant('hasTimestampable') ? $instance::hasTimestampable : false;
     $properties['model_language'] = $ReflectionObject->hasConstant('modelLanguage') ? $instance::modelLanguage : false;
     $properties['model_translation'] = $ReflectionObject->hasConstant('modelTranslation') ? $instance::modelTranslation : false;
     $properties['fields'] = $ReflectionObject->getProperties(\ReflectionProperty::IS_PUBLIC);
     return $properties;
 }