public function execute(LdapOperationInterface $operation)
{
$result = true;
foreach ($operation->getPreOperations() as $preOperation) {
$this->execute($preOperation);
}
if (!$this->shouldSkipOperation($operation)) {
$this->dispatcher->dispatch(new LdapOperationEvent(Event::LDAP_OPERATION_EXECUTE_BEFORE, $operation, $this->connection));
$result = $this->executeOperation($operation, $this->getLogObject($operation));
}
foreach ($operation->getPostOperations() as $postOperation) {
$this->execute($postOperation);
}
return $result;
}