/**
  * It's possible we need to skip an operation. For example, if a batch operation was only for attribute values that
  * were converted into other operations (such as a modification where only operation generator converters are used).
  * In that case the resulting batch operation will be empty but will have generated post/pre operations for it still.
  * The most common scenario is group membership only changes.
  *
  * @param LdapOperationInterface $operation
  * @return bool
  */
 protected function shouldSkipOperation(LdapOperationInterface $operation)
 {
     return $operation instanceof BatchModifyOperation && empty($operation->getBatchCollection()->toArray());
 }