docs: public void setContextSource(ContextSource contextSource) {
          if (contextSource instanceof TransactionAwareContextSourceProxy) {
              TransactionAwareContextSourceProxy proxy = (TransactionAwareContextSourceProxy) contextSource;
              this.contextSource = proxy.getTarget();
          } else {
              this.contextSource = contextSource;
          }
  
          if (contextSource instanceof AbstractContextSource) {
              AbstractContextSource abstractContextSource = (AbstractContextSource) contextSource;
              if(abstractContextSource.isAnonymousReadOnly()) {
                  throw new IllegalArgumentException(
                          "Compensating LDAP transactions cannot be used when context-source is anonymous-read-only");
              }
          }
      }