code: public List<Triple<F,L,Double>> getTopFeatures(Set<L> labels,
                                                   double threshold, boolean useMagnitude, int numFeatures,
                                                   boolean descending)
    {
      if (labels != null) {
        Set<Integer> iLabels = getLabelIndices(labels);
        return getTopFeaturesLabelIndices(iLabels, threshold, useMagnitude, numFeatures, descending);
      } else {
        return getTopFeaturesLabelIndices(null, threshold, useMagnitude, numFeatures, descending);
      }
    }
docs: Returns list of top features with weight above a certain threshold
  @param labels Set of labels we care about when getting features
  Use null to get features across all labels
  @param threshold  Threshold above which we will count the feature
  @param useMagnitude Whether the notion of "large" should ignore
  the sign of the feature weight.
  @param numFeatures  How many top features to return (-1 for unlimited)
  @param descending Return weights in descending order
  @return List of triples indicating feature, label, weight