code: public ListMultimap<String, String> getMultipleLemmas(String[] tokens, String[][] posTags) {
      
      ListMultimap<String, String> morphMap = ArrayListMultimap.create();
      for (int i = 0; i < posTags.length; i++) {
        String[] rowLemmas = this.lemmatizer.lemmatize(tokens, posTags[i]);
        String[] decodedLemmas = this.lemmatizer.decodeLemmas(tokens, rowLemmas);
        for (int j = 0; j < decodedLemmas.length; j++) {
          morphMap.put(tokens[j], posTags[i][j] + "#" + 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