code: public void afterPropertiesSet() {
  		if (ObjectUtils.isEmpty(urls)) {
  			throw new IllegalArgumentException("At least one server url must be set");
  		}
  
  		if (authenticationSource == null) {
  			LOG.debug("AuthenticationSource not set - " + "using default implementation");
  			if (!StringUtils.hasText(userDn)) {
  				LOG.info("Property 'userDn' not set - " + "anonymous context will be used for read-write operations");
  				anonymousReadOnly = true;
  			}
  			else if (!StringUtils.hasText(password)) {
  				LOG.info("Property 'password' not set - " + "blank password will be used");
  			}
  			authenticationSource = new SimpleAuthenticationSource();
  		}
  
  		if (cacheEnvironmentProperties) {
  			anonymousEnv = setupAnonymousEnv();
  		}
  	}
docs: Checks that all necessary data is set and that there is no compatibility
  issues, after which the instance is initialized. Note that you need to
  call this method explicitly after setting all desired properties if using
  the class outside of a Spring Context.