List<String> (@NotNull PsiType type, @NotNull VariableKind variableKind, @Nullable String typeName) { if (typeName == null) return Collections.emptyList(); typeName = normalizeTypeName(typeName); String result = type instanceof PsiArrayType ? StringUtil.pluralize(typeName) : typeName; if (variableKind == VariableKind.PARAMETER && type instanceof PsiClassType && typeName.endsWith("Exception")) { return Arrays.asList("e", result); } for (String suffix : ourCommonTypeSuffixes) { if (result.length() > suffix.length() && result.endsWith(suffix)) { return Arrays.asList(result, result.substring(0, result.length() - suffix.length())); } } return Collections.singletonList(result); }