@NotNull
  private static List<Substring> getUnexpectedParams(@NotNull StructuredDocString docString, PyParameter @NotNull [] realParams) {
    final Map<String, Substring> unexpected = Maps.newHashMap();

    for (Substring s : docString.getParameterSubstrings()) {
      unexpected.put(s.toString(), s);
    }

    for (PyParameter p : realParams) {
      unexpected.remove(p.getName());
    }
    return Lists.newArrayList(unexpected.values());
  }
@NotNull
  private static List<Substring> getUnexpectedParams(@NotNull StructuredDocString docString, PyParameter @NotNull [] realParams)