code: public int getFrequency(final CharSequence word) {
      if (!dictionaryMetadata.isFrequencyIncluded()) {
        return 0;
      }
  
      final byte separator = dictionaryMetadata.getSeparator();
      try {
        byteBuffer = charSequenceToBytes(word);
      } catch (UnmappableInputException e) {
        return 0;
      }
  
      final MatchResult match = matcher.match(matchResult, byteBuffer.array(), 0, byteBuffer.remaining(), rootNode);
      if (match.kind == SEQUENCE_IS_A_PREFIX) {
        final int arc = fsa.getArc(match.node, separator);
        if (arc != 0 && !fsa.isArcFinal(arc)) {
          finalStatesIterator.restartFrom(fsa.getEndNode(arc));
          if (finalStatesIterator.hasNext()) {
            final ByteBuffer bb = finalStatesIterator.next();
            final byte[] ba = bb.array();
            final int bbSize = bb.remaining();
            //the last byte contains the frequency after a separator
            return ba[bbSize - 1] - FIRST_RANGE_CODE;
          }
        }
      }
      return 0;
    }
docs: Get the frequency value for a word form. It is taken from the first entry
  with this word form.
  
  @param word
  the word to be tested
  @return frequency value in range: 0..FREQ_RANGE-1 (0: less frequent).