code: public void ensureDomainsFileInstalled() throws IOException{
  		// Quick check for availability
  		domainsFileLock.readLock().lock();
  		logger.trace("LOCK readlock");
  		try {
  			if( allDomains != null ) {
  				return;
  			}
  		} finally {
  			logger.trace("UNLOCK readlock");
  			domainsFileLock.readLock().unlock();
  		}
  
  		// Download domains
  		domainsFileLock.writeLock().lock();
  		logger.trace("LOCK writelock");
  		try {
  			if( !domainsAvailable() ) {
  				downloadDomains();
  			}
  			parseDomains();
  		} finally {
  			logger.trace("UNLOCK writelock");
  			domainsFileLock.writeLock().unlock();
  		}
  	}
docs: Populates allDomains