class TestIDEA128101 { static class Attribute {}; static class Path {}; static Attribute integerAttribute; static Attribute stringAttribute; static Path createPath(Attribute attribute) { return new Path<>(); } static Path createPath1(Attribute attribute) { return new Path<>(); } static void construct(Class aClass, Path... paths) {} static void construct1(Class aClass, Path... paths) {} static void construct2(Class aClass, Path... paths) {} static void construct3(Class aClass, Path... paths) {} static void construct4(Class aClass, Path path1, Path path2) {} public static void test() { construct(String.class, createPath(integerAttribute), createPath(stringAttribute)); construct1(String.class, createPath(integerAttribute), createPath(stringAttribute)); construct2(String.class, createPath(integerAttribute), createPath(stringAttribute)); construct3(String.class, createPath(integerAttribute), createPath(stringAttribute)); construct4(String.class, createPath(integerAttribute), createPath(stringAttribute)); } }