@Override
  public int matchingDegree(@NotNull String name,
                            boolean valueStartCaseMatch,
                            @Nullable FList<? extends TextRange> fragments) {
    if (fragments != null && fragments.size() == 1) {
      TextRange range = fragments.getHead();
      if (range.getStartOffset() == 0) {
        return 500 + range.getLength();
      }
      String prefix = name.substring(0, range.getStartOffset());
      if (prefix.equals("get") || prefix.equals("is") || prefix.equals("set")) {
        return 200 + range.getLength();
      }
      return range.getLength();
    }
    return Integer.MIN_VALUE;
  }
@Override
  public int matchingDegree(@NotNull String name,
                            boolean valueStartCaseMatch,
                            @Nullable FList<? extends TextRange> fragments)