com_opensymphony_xwork2_spring_SpringObjectFactoryTest_java
org.springframework.beans.factory.support.SimpleInstantiationStrategy
@Override
    public Object instantiate(RootBeanDefinition bd, String beanName, BeanFactory owner) {
        if (bd.getMethodOverrides().isEmpty()) {
            Constructor constructorToUse;
            Object object = bd.constructorArgumentLock;
            synchronized (object) {
                constructorToUse = (Constructor)bd.resolvedConstructorOrFactoryMethod;
                if (constructorToUse == null) {
                    Class<?> clazz = bd.getBeanClass();
                    if (clazz.isInterface()) {
                        throw new BeanInstantiationException(clazz, "Specified class is an interface");
                    }
                    try {
                        constructorToUse = System.getSecurityManager() != null ? (Constructor)AccessController.doPrivileged(new /* Unavailable Anonymous Inner Class!! */) : clazz.getDeclaredConstructor(null);
                        bd.resolvedConstructorOrFactoryMethod = constructorToUse;
                    }
                    catch (Throwable ex) {
                        throw new BeanInstantiationException(clazz, "No default constructor found", ex);
                    }
                }
            }
            return BeanUtils.instantiateClass(constructorToUse, new Object[0]);
        }
        return this.instantiateWithMethodInjection(bd, beanName, owner);
    }
 -> java.util.Set.isEmpty(): boolean -> java.lang.Class.isInterface(): boolean -> java.lang.System.getSecurityManager(): java.lang.SecurityManager -> java.lang.Class.getDeclaredConstructor(java.lang.Class[]): java.lang.reflect.Constructor -> java.lang.reflect.Constructor.getModifiers(): int -> java.lang.reflect.Modifier.isPublic(int): boolean -> java.lang.reflect.Constructor.getDeclaringClass(): java.lang.Class -> java.lang.Class.getModifiers(): int -> java.lang.reflect.Modifier.isPublic(int): boolean -> java.lang.reflect.Constructor.newInstance(java.lang.Object[]): java.lang.Object -> java.lang.Class.getClassLoader(): java.lang.ClassLoader -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.newInstance(): java.lang.Object -> java.lang.Class.newInstance(): java.lang.Object -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.util.Map.containsKey(java.lang.Object): boolean -> java.util.Map.containsKey(java.lang.Object): boolean -> java.lang.System.getProperties(): java.util.Properties -> java.util.Properties.containsKey(java.lang.Object): boolean -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Map.containsKey(java.lang.Object): boolean -> java.util.regex.Pattern.matcher(java.lang.CharSequence): java.util.regex.Matcher -> java.util.regex.Matcher.find(): boolean -> java.util.regex.Matcher.group(int): java.lang.String -> java.lang.String.toLowerCase(): java.lang.String -> java.util.List.add(java.lang.Object): boolean -> java.util.regex.Matcher.find(): boolean -> java.util.regex.Matcher.group(int): java.lang.String -> java.lang.String.toLowerCase(): java.lang.String -> java.util.List.add(java.lang.Object): boolean -> java.util.regex.Matcher.find(): boolean -> java.util.regex.Matcher.group(int): java.lang.String -> java.lang.String.toLowerCase(): java.lang.String -> java.util.List.add(java.lang.Object): boolean -> java.util.regex.Matcher.find(): boolean -> java.util.regex.Matcher.group(int): java.lang.String -> java.lang.String.toLowerCase(): java.lang.String -> java.util.List.add(java.lang.Object): boolean -> java.util.regex.Matcher.find(): boolean -> java.util.regex.Matcher.group(int): java.lang.String -> java.lang.String.toLowerCase(): java.lang.String -> java.util.List.add(java.lang.Object): boolean -> java.util.regex.Matcher.find(): boolean -> java.util.regex.Matcher.group(int): java.lang.String -> java.lang.String.toLowerCase(): java.lang.String -> java.util.List.add(java.lang.Object): boolean -> java.util.regex.Matcher.find(): boolean -> java.util.regex.Matcher.group(int): java.lang.String -> java.lang.String.toLowerCase(): java.lang.String -> java.util.List.add(java.lang.Object): boolean -> java.util.regex.Matcher.find(): boolean -> java.util.regex.Matcher.group(int): java.lang.String -> java.lang.String.toLowerCase(): java.lang.String -> java.util.List.add(java.lang.Object): boolean -> java.util.regex.Matcher.find(): boolean -> java.util.regex.Matcher.group(int): java.lang.String -> java.lang.String.toLowerCase(): java.lang.String -> java.util.List.add(java.lang.Object): boolean -> java.util.regex.Matcher.find(): boolean -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.String.lastIndexOf(java.lang.String): int -> java.lang.String.length(): int -> java.lang.String.substring(int): java.lang.String -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.concurrent.ConcurrentMap.putIfAbsent(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object
 [CALL] [CALL] [EXIT] [CALL] -> java.util.Set.isEmpty(): boolean [EXIT] [CALL] [EXIT] -> java.lang.Class.isInterface(): boolean -> java.lang.System.getSecurityManager(): java.lang.SecurityManager -> java.lang.Class.getDeclaredConstructor(java.lang.Class[]): java.lang.reflect.Constructor [CALL] [CALL] [EXIT] [CALL] -> java.lang.reflect.Constructor.getModifiers(): int -> java.lang.reflect.Modifier.isPublic(int): boolean -> java.lang.reflect.Constructor.getDeclaringClass(): java.lang.Class -> java.lang.Class.getModifiers(): int -> java.lang.reflect.Modifier.isPublic(int): boolean [EXIT] -> java.lang.reflect.Constructor.newInstance(java.lang.Object[]): java.lang.Object [CALL] [CALL] [EXIT] -> java.lang.Class.getClassLoader(): java.lang.ClassLoader [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [CALL] [CALL] [CALL] -> java.lang.Class.newInstance(): java.lang.Object [CALL] [EXIT] [EXIT] [CALL] -> java.lang.Class.newInstance(): java.lang.Object [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [CALL] [CALL] [CALL] -> java.util.Map.containsKey(java.lang.Object): boolean -> java.util.Map.containsKey(java.lang.Object): boolean [CALL] -> java.lang.System.getProperties(): java.util.Properties -> java.util.Properties.containsKey(java.lang.Object): boolean [EXIT] -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Map.containsKey(java.lang.Object): boolean -> java.util.regex.Pattern.matcher(java.lang.CharSequence): java.util.regex.Matcher -> java.util.regex.Matcher.find(): boolean -> java.util.regex.Matcher.group(int): java.lang.String -> java.lang.String.toLowerCase(): java.lang.String -> java.util.List.add(java.lang.Object): boolean -> java.util.regex.Matcher.find(): boolean -> java.util.regex.Matcher.group(int): java.lang.String -> java.lang.String.toLowerCase(): java.lang.String -> java.util.List.add(java.lang.Object): boolean -> java.util.regex.Matcher.find(): boolean -> java.util.regex.Matcher.group(int): java.lang.String -> java.lang.String.toLowerCase(): java.lang.String -> java.util.List.add(java.lang.Object): boolean -> java.util.regex.Matcher.find(): boolean -> java.util.regex.Matcher.group(int): java.lang.String -> java.lang.String.toLowerCase(): java.lang.String -> java.util.List.add(java.lang.Object): boolean -> java.util.regex.Matcher.find(): boolean -> java.util.regex.Matcher.group(int): java.lang.String -> java.lang.String.toLowerCase(): java.lang.String -> java.util.List.add(java.lang.Object): boolean -> java.util.regex.Matcher.find(): boolean -> java.util.regex.Matcher.group(int): java.lang.String -> java.lang.String.toLowerCase(): java.lang.String -> java.util.List.add(java.lang.Object): boolean -> java.util.regex.Matcher.find(): boolean -> java.util.regex.Matcher.group(int): java.lang.String -> java.lang.String.toLowerCase(): java.lang.String -> java.util.List.add(java.lang.Object): boolean -> java.util.regex.Matcher.find(): boolean -> java.util.regex.Matcher.group(int): java.lang.String -> java.lang.String.toLowerCase(): java.lang.String -> java.util.List.add(java.lang.Object): boolean -> java.util.regex.Matcher.find(): boolean -> java.util.regex.Matcher.group(int): java.lang.String -> java.lang.String.toLowerCase(): java.lang.String -> java.util.List.add(java.lang.Object): boolean -> java.util.regex.Matcher.find(): boolean -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [EXIT] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [EXIT] [CALL] [EXIT] -> java.lang.String.lastIndexOf(java.lang.String): int -> java.lang.String.length(): int -> java.lang.String.substring(int): java.lang.String [EXIT] [CALL] [CALL] [EXIT] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [CALL] -> java.util.concurrent.ConcurrentMap.putIfAbsent(java.lang.Object,java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT]