code: @Override
  	public List<EcodDomain> getAllDomains() throws IOException {
  		domainsFileLock.readLock().lock();
  		logger.trace("LOCK readlock");
  		try {
  			while( allDomains == null) {
  				// unlock to allow ensureDomainsFileInstalled to get the write lock
  				logger.trace("UNLOCK readlock");
  				domainsFileLock.readLock().unlock();
  				ensureDomainsFileInstalled();
  				domainsFileLock.readLock().lock();
  				logger.trace("LOCK readlock");
  			}
  			return allDomains;
  		} finally {
  			logger.trace("UNLOCK readlock");
  			domainsFileLock.readLock().unlock();
  		}
  
  	}
docs: Get all ECOD domains
  @return
  @throws IOException