code: @Nonnull
      public static FileSet createFileSet(@Nonnull File baseDir, @Nonnull String includes, @CheckForNull String excludes) {
          FileSet fs = new FileSet();
          fs.setDir(baseDir);
          fs.setProject(new Project());
  
          StringTokenizer tokens;
  
          tokens = new StringTokenizer(includes,",");
          while(tokens.hasMoreTokens()) {
              String token = tokens.nextToken().trim();
              fs.createInclude().setName(token);
          }
          if(excludes!=null) {
              tokens = new StringTokenizer(excludes,",");
              while(tokens.hasMoreTokens()) {
                  String token = tokens.nextToken().trim();
                  fs.createExclude().setName(token);
              }
          }
          return fs;
      }
docs: Creates Ant {@link FileSet} with the base dir and include pattern.
  
  <p>
  The difference with this and using {@link FileSet#setIncludes(String)}
  is that this method doesn't treat whitespace as a pattern separator,
  which makes it impossible to use space in the file path.
  
  @param includes
  String like "foo/bar/*.xml" Multiple patterns can be separated
  by ',', and whitespace can surround ',' (so that you can write
  "abc, def" and "abc,def" to mean the same thing.
  @param excludes
  Exclusion pattern. Follows the same format as the 'includes' parameter.
  Can be null.
  @since 1.172