code: public Optional<FileStatus> findPersistedFile(State state, CopyEntity file, Predicate<FileStatus> filter)
        throws IOException {
      if (!this.persistDir.isPresent() || !this.fs.exists(this.persistDir.get())) {
        return Optional.absent();
      }
  
      Path guidPath = new Path(this.persistDir.get(), computeGuid(state, file));
      FileStatus[] statuses;
      try {
        statuses = this.fs.listStatus(guidPath);
      } catch (FileNotFoundException e) {
        return Optional.absent();
      }
  
      for (FileStatus fileStatus : statuses) {
        if (filter.apply(fileStatus)) {
          return Optional.of(fileStatus);
        }
      }
      return Optional.absent();
    }
docs: Searches the persist directory to find {@link Path}s matching the input {@link org.apache.gobblin.data.management.copy.CopyEntity}.
  @param state {@link State} containing job information.
  @param file {@link org.apache.gobblin.data.management.copy.CopyEntity} for which persisted {@link Path}s should be found.
  @param filter {@link com.google.common.base.Predicate} used to filter found paths.
  @return Optionally, a {@link Path} in the {@link FileSystem} that is the desired copy of the {@link org.apache.gobblin.data.management.copy.CopyEntity}.
  @throws IOException