code: public ListMultimap<String, String> getMultipleLemmas(final String[] tokens,
        final Span[][] posTags) {
  
      final ListMultimap<String, String> morphMap = ArrayListMultimap.create();
      for (final Span[] posTag : posTags) {
        final Span[] rowLemmas = this.sequenceLabeler.tag(tokens);
        final String[] decodedLemmas = StringUtils.decodeLemmas(tokens,
            rowLemmas);
        for (int j = 0; j < decodedLemmas.length; j++) {
          morphMap.put(tokens[j], posTag[j].getType() + "#" + decodedLemmas[j]);
        }
      }
      return morphMap;
    }
docs: Takes a sentence with multiple tags alternatives for each word and produces
  a lemma for each of the word-tag combinations.
  
  @param tokens
  the sentence tokens
  @param posTags
  the alternative postags
  @return the ordered map containing all the possible tag#lemma values for
  token