/**
  * @param bool $withVirtualFields
  * @param bool $withUnidirectional
  * @param bool $withRelations
  * @param bool $applyExclusions
  * @param bool $translate
  *
  * @return array
  */
 public function getFields($withVirtualFields = false, $withUnidirectional = false, $withRelations = true, $applyExclusions = true, $translate = true)
 {
     $result = [];
     $entities = $this->entityProvider->getEntities(true, $applyExclusions);
     foreach ($entities as $entityData) {
         $currentClassName = $entityData['name'];
         $fields = $this->fieldProvider->getFields($currentClassName, $withRelations, $withVirtualFields, false, $withUnidirectional, $applyExclusions, $translate);
         $entityData['fields'] = $fields;
         $result[$currentClassName] = $entityData;
     }
     return $result;
 }