code: public void initialize(URI name, Configuration conf) throws IOException {
      this.conf = conf;
  
      Class<?> clazz = conf.getClass("fs.lookasidecache.underlyingfs.impl",
          DistributedFileSystem.class);
      if (clazz == null) {
        throw new IOException("No FileSystem for " +
                              "fs.lookasidecache.underlyingfs.impl.");
      }
  
      this.fs = (FileSystem)ReflectionUtils.newInstance(clazz, null);
      super.initialize(name, conf);
  
      // find configured cache directory
      cacheDir = conf.get("fs.lookasidecache.dir");
      if (cacheDir == null) {
        LOG.info("fs.lookasidecache.dir is not defined");
        return;
      }
      cacheDir += "/" + System.currentTimeMillis();
      cachePath = new Path(cacheDir);
      assert cachePath.isAbsolute();
      cacheURI = URI.create("file:///" + cacheDir);
  
      if (cacheURI == null) {
        LOG.info("fs.lookasidecache.dir is not defined");
        return;
      }
      if (LOG.isDebugEnabled()) {
        LOG.debug("CacheDir is " + cacheURI);
      }
  
      // create an instance of a RawLocalFileSystem to read from the cache
      cacheFs = new RawLocalFileSystem();
      cacheFs.initialize(cacheURI, conf);
  
      // Create the cachedir if it does not exist
      // There could be pre-exisiting files in the cachedir, do not do
      // anything to them. They will not be served by this cache, but they
      // will not be deleted by this cache either.
      cacheFs.mkdirs(cachePath);
  
      // create a lookaside cache
      lookasideCache = new LookasideCache(conf, this);
  
      // create a metrics updater object
      metrics = new LookasideMetrics();
    }
docs: /* Initialize a LookasideCacheFileSystem