/**
  * @param mixed $ldapArray
  * @param AbstractEntity $entity
  * @return AbstractEntity
  */
 public function reverseTransform($ldapArray, AbstractEntity $entity, $dn)
 {
     $entity->setDn($dn);
     $schemaClasses = $entity->getObjectClasses();
     if (isset($ldapArray['createtimestamp'])) {
         $entity->setCreateTimestamp(new \DateTime($ldapArray['createtimestamp'][0]));
     }
     if (isset($ldapArray['modifytimestamp'])) {
         $entity->setModifyTimestamp(new \DateTime($ldapArray['modifytimestamp'][0]));
     }
     //force lower keynames
     $tmp = [];
     foreach ($ldapArray as $key => $value) {
         $tmp[strtolower($key)] = $value;
     }
     $ldapArray = $tmp;
     foreach ($ldapArray["objectclass"] as $key => $objectClass) {
         if ($key === 'count') {
             continue;
         }
         if (isset($schemaClasses[strtolower($objectClass)])) {
             $class = $schemaClasses[strtolower($objectClass)];
             $entity->addObject($class, $ldapArray);
         }
     }
     return $entity;
 }
 public function __construct($name)
 {
     parent::__construct();
     $this->name = $name;
 }