@Override
  public List<Keyphrase> filterCandidates(Collection<Keyphrase> keyphrases)
      throws AnalysisEngineProcessException {

    List<Keyphrase> keyphrasesToBeRemoved = new LinkedList<Keyphrase>();
    long frequency;
    for (Keyphrase keyphrase : keyphrases) {
      try {
        frequency = getFrequency(keyphrase.getKeyphrase());
      } catch (IOException e) {
        throw new AnalysisEngineProcessException(e);
      }

      if (frequency < minFrequency || frequency > maxFrequency) {
        keyphrasesToBeRemoved.add(keyphrase);
      }
    }
    return keyphrasesToBeRemoved;
  }