List<Object> () { List<Object> tuple = new ArrayList<>(); tuple.add(Arrays.asList(callbackTypes)); tuple.add((useFactory ? 1 : 0) + (interceptDuringConstruction ? 2 : 0)); if (superclass != null) tuple.add(superclass.getName()); if (interfaces != null) { tuple.addAll(ContainerUtil.map(interfaces, Class::getName)); } return tuple; }