@Override
    public int read(long position, byte[] buffer, int offset, int length) throws IOException {
      int n;
      try {
        n = in.read(position, buffer, offset, length);
      } catch (FileNotFoundException e) {
        n = tryOpen().read(position, buffer, offset, length);
      }
      return n;
    }
FileLink InputStream that handles the switch between the original path and the alternative
locations, when the file is moved.
hbase-server/src/main/java/org/apache/hadoop/hbase/io/FileLink.java