private static @NotNull List<RefParameter> getUnusedParameters(@NotNull RefMethod refMethod) {
    RefParameter[] methodParameters = refMethod.getParameters();
    if (methodParameters.length == 0) return Collections.emptyList();
    boolean checkDeep = !refMethod.isStatic() && !refMethod.isConstructor();
    ArrayList<RefParameter> res = new ArrayList<>();
    RefParameter[] result = methodParameters.clone();

    clearUsedParameters(refMethod, result, checkDeep);

    for (RefParameter parameter : result) {
      if (parameter != null && !PsiUtil.isIgnoredName(parameter.getName()) &&
          !parameter.isSuppressed(UnusedSymbolLocalInspection.UNUSED_PARAMETERS_SHORT_NAME, UnusedSymbolLocalInspection.UNUSED_ID)) {
        res.add(parameter);
      }
    }

    return res;
  }
private static @NotNull List<RefParameter> getUnusedParameters(@NotNull RefMethod refMethod)