code: public Collection<KeywordAnnotation> getKeywordAnnotationsByCountMetric(
              Integer minCount, Double minMetric) {
          final Integer count = minCount == null || minCount < 1 ? null : minCount;
          final Double metric = minMetric == null || minMetric <= 0 ? null : minMetric;
          if(count == null && metric == null){
              return getKeywordAnnotations();
          } else {
              return FluentIterable.from(getKeywordAnnotations())
                      .filter(new Predicate<KeywordAnnotation>() {
                          @Override
                          public boolean apply(KeywordAnnotation e) {
                              boolean apply = true;
                              if(metric != null && (e.getMetric() == null || metric > e.getMetric())){
                                  apply = false; //filter because metric is to small
                              }
                              if(count != null && (count > e.getCount())){
                                  apply = false; //filter because count is to low
                              }
                              return apply;
                          }
                      }).toList();
          }
      }
docs: Returns a {@link Collection} of {@link KeywordAnnotation}s which
  a <ul>
  <li> count greater than or equal the required count
  <li> metric greater than or equals the required metric
  </ul>y
  
  @param minCount Threshold count value or <code>null</code> for no threshold
  @param minMetric Threshold metric value or <code>null</code> for no threshold
  @return the {@link KeywordAnnotation}s fulfilling the parsed requirements.