public Self withFileType(final ElementPattern<? extends FileType> fileTypePattern) {
    return with(new PatternCondition<T>("withFileType") {
      @Override
      public boolean accepts(@NotNull T file, ProcessingContext context) {
        return fileTypePattern.accepts(file.getFileType(), context);
      }
    });
  }
public Self withFileType(final ElementPattern<? extends FileType> fileTypePattern)