docs: public synchronized final void activateOptions() {
  		this.deactivateOptions();
  		super.activateOptions();
  		if (getFilterEmptyMessages()) {
  			addFilter(new EmptyMessageFilter());
  		}
  
  		// rollables
  		this.setFileRollable(new CompositeRoller(this, this.getProperties()));
  		// scavenger
  		LogFileScavenger fileScavenger = this.getLogFileScavenger();
  		if (fileScavenger == null) {
  			fileScavenger = this.initLogFileScavenger(new DefaultLogFileScavenger());
  		}
  		fileScavenger.begin();
  		// compressor
  		final LogFileCompressor logFileCompressor = new LogFileCompressor(this, this.getProperties());
  		this.setLogFileCompressor(logFileCompressor);
  		this.getFileRollable().addFileRollEventListener(logFileCompressor);
  		logFileCompressor.begin();
  		// guest listener
  		this.registerGuestFileRollEventListener();
  		// roll enforcer
  		final TimeBasedRollEnforcer logRollEnforcer = new TimeBasedRollEnforcer(this, this.getProperties());
  		this.setLogRollEnforcer(logRollEnforcer);
  		logRollEnforcer.begin();
  		// roll on start-up
  		if (this.getProperties().shouldRollOnActivation()) {
  			synchronized (this) {
  				this.rollFile(new StartupFileRollEvent());
  			}
  		}
  	}