ReflectiveSignature (PsiExpression @NotNull [] genericSignatureShape) { final Pair.NonNull<Integer, Boolean> signature = getGenericSignature(genericSignatureShape); if (signature == null) return null; final int objectArgCount = signature.getFirst(); final boolean finalArray = signature.getSecond(); final List<String> typeNames = new ArrayList<>(); typeNames.add(CommonClassNames.JAVA_LANG_OBJECT); // return type for (int i = 0; i < objectArgCount; i++) { typeNames.add(CommonClassNames.JAVA_LANG_OBJECT); } if (finalArray) { typeNames.add(CommonClassNames.JAVA_LANG_OBJECT + "[]"); } return ReflectiveSignature.create(typeNames); }