code: public char match(ISense source, ISense target) throws MatcherLibraryException {
          int Equals = 0;
          int moreGeneral = 0;
          int lessGeneral = 0;
          int Opposite = 0;
          String sSynset = source.getGloss();
          String tSynset = target.getGloss();
          StringTokenizer stSource = new StringTokenizer(sSynset, " ,.\"'()");
          String lemmaS, lemmaT;
          while (stSource.hasMoreTokens()) {
              StringTokenizer stTarget = new StringTokenizer(tSynset, " ,.\"'()");
              lemmaS = stSource.nextToken();
              if (!meaninglessWords.contains(lemmaS))
                  while (stTarget.hasMoreTokens()) {
                      lemmaT = stTarget.nextToken();
                      if (!meaninglessWords.contains(lemmaT)) {
                          if (isWordLessGeneral(lemmaS, lemmaT))
                              lessGeneral++;
                          else if (isWordMoreGeneral(lemmaS, lemmaT))
                              moreGeneral++;
                          else if (isWordSynonym(lemmaS, lemmaT))
                              Equals++;
                          else if (isWordOpposite(lemmaS, lemmaT))
                              Opposite++;
                      }
                  }
          }
          return getRelationFromInts(lessGeneral, moreGeneral, Equals, Opposite);
      }
docs: Computes the relations with WordNet semantic gloss matcher.
  
  @param source the gloss of source
  @param target the gloss of target
  @return less general, more general, equal, opposite or IDK relation