PsiClassType (@Nullable PsiType collection, Project project, PsiType... itemType) { if (InheritanceUtil.isInheritor(collection, CommonClassNames.JAVA_UTIL_SORTED_SET)) { return createCollection(project, CommonClassNames.JAVA_UTIL_SORTED_SET, itemType); } if (InheritanceUtil.isInheritor(collection, CommonClassNames.JAVA_UTIL_LINKED_HASH_SET)) { return createCollection(project, CommonClassNames.JAVA_UTIL_LINKED_HASH_SET, itemType); } if (InheritanceUtil.isInheritor(collection, CommonClassNames.JAVA_UTIL_SET)) { return createCollection(project, "java.util.HashSet", itemType); } if (InheritanceUtil.isInheritor(collection, CommonClassNames.JAVA_UTIL_LINKED_LIST)) { return createCollection(project, CommonClassNames.JAVA_UTIL_LINKED_LIST, itemType); } if (InheritanceUtil.isInheritor(collection, CommonClassNames.JAVA_UTIL_STACK)) { return createCollection(project, CommonClassNames.JAVA_UTIL_STACK, itemType); } if (InheritanceUtil.isInheritor(collection, "java.util.Vector")) { return createCollection(project, "java.util.Vector", itemType); } if (InheritanceUtil.isInheritor(collection, CommonClassNames.JAVA_UTIL_LIST)) { return createCollection(project, "java.util.ArrayList", itemType); } if (InheritanceUtil.isInheritor(collection, CommonClassNames.JAVA_UTIL_QUEUE)) { return createCollection(project, CommonClassNames.JAVA_UTIL_LINKED_LIST, itemType); } return createCollection(project, "java.util.ArrayList", itemType); }