code: @Nonnull
      public List<FilePath> list(final FileFilter filter) throws IOException, InterruptedException {
          if (filter != null && !(filter instanceof Serializable)) {
              throw new IllegalArgumentException("Non-serializable filter of " + filter.getClass());
          }
          return act(new ListFilter(filter), (filter != null ? filter : this).getClass().getClassLoader());
      }
docs: List up files in this directory, just like {@link File#listFiles(FileFilter)}.
  
  @param filter
  The optional filter used to narrow down the result.
  If non-null, must be {@link Serializable}.
  If this {@link FilePath} represents a remote path,
  the filter object will be executed on the remote machine.