org_apache_struts2_session_StrutsJUnit4SessionTestCaseTest_java
ognl.OgnlRuntime
public static Object callAppropriateMethod(OgnlContext context, Object source, Object target, String methodName, String propertyName, List methods, Object[] args) throws MethodFailedException {
        Throwable reason = null;
        Object[] actualArgs = _objectArrayPool.create(args.length);
        try {
            Method method = OgnlRuntime.getAppropriateMethod(context, source, target, propertyName, methodName, methods, args, actualArgs);
            if (method == null || !OgnlRuntime.isMethodAccessible(context, source, method, propertyName)) {
                StringBuffer buffer = new StringBuffer();
                String className = "";
                if (target != null) {
                    className = target.getClass().getName() + ".";
                }
                int ilast = args.length - 1;
                for (int i = 0; i <= ilast; ++i) {
                    Object arg = args[i];
                    buffer.append(arg == null ? NULL_STRING : arg.getClass().getName());
                    if (i >= ilast) continue;
                    buffer.append(", ");
                }
                throw new NoSuchMethodException(className + methodName + "(" + buffer + ")");
            }
            Object[] convertedArgs = actualArgs;
            if (method.isVarArgs()) {
                Class<?>[] parmTypes = method.getParameterTypes();
                for (int i = 0; i < parmTypes.length; ++i) {
                    Object[] varArgs;
                    if (!parmTypes[i].isArray()) continue;
                    convertedArgs = new Object[i + 1];
                    if (actualArgs.length > 0) {
                        System.arraycopy(actualArgs, 0, convertedArgs, 0, convertedArgs.length);
                    }
                    if (actualArgs.length > i) {
                        ArrayList<Object> varArgsList = new ArrayList<Object>();
                        for (int j = i; j < actualArgs.length; ++j) {
                            if (actualArgs[j] == null) continue;
                            varArgsList.add(actualArgs[j]);
                        }
                        varArgs = actualArgs.length == 1 ? (Object[])Array.newInstance(args[0].getClass(), 1) : (Object[])Array.newInstance(parmTypes[i].getComponentType(), varArgsList.size());
                        System.arraycopy(varArgsList.toArray(), 0, varArgs, 0, varArgs.length);
                    } else {
                        varArgs = new Object[]{};
                    }
                    if (actualArgs.length == 1 && args[0].getClass().isArray()) {
                        convertedArgs = varArgs;
                        break;
                    }
                    convertedArgs[i] = varArgs;
                    break;
                }
            }
            Object object = OgnlRuntime.invokeMethod(target, method, convertedArgs);
            return object;
        }
        catch (NoSuchMethodException e) {
            reason = e;
        }
        catch (IllegalAccessException e) {
            reason = e;
        }
        catch (InvocationTargetException e) {
            reason = e.getTargetException();
        }
        finally {
            _objectArrayPool.recycle(actualArgs);
        }
        throw new MethodFailedException(source, methodName, reason);
    }
 -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Class.getSuperclass(): java.lang.Class -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.lang.reflect.Method.getGenericParameterTypes(): java.lang.reflect.Type[] -> java.lang.Class.isInstance(java.lang.Object): boolean -> java.lang.reflect.Method.isVarArgs(): boolean -> java.lang.reflect.Method.getName(): java.lang.String -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.System.arraycopy(java.lang.Object,int,java.lang.Object,int,int): void -> java.lang.Class.isPrimitive(): boolean -> java.lang.reflect.Member.getModifiers(): int -> java.lang.reflect.Modifier.isPublic(int): boolean -> java.lang.reflect.Modifier.isStatic(int): boolean -> java.lang.reflect.Modifier.isStatic(int): boolean -> java.lang.reflect.Member.getDeclaringClass(): java.lang.Class -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.lang.reflect.Modifier.isStatic(int): boolean -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Class.getPackage(): java.lang.Package -> java.lang.Class.getPackage(): java.lang.Package -> java.lang.Package.getName(): java.lang.String -> java.lang.Package.getName(): java.lang.String -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> 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.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.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Set.isEmpty(): boolean -> java.util.Set.isEmpty(): boolean -> java.lang.reflect.Method.isVarArgs(): boolean -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.lang.reflect.Method.equals(java.lang.Object): boolean -> java.lang.reflect.Method.equals(java.lang.Object): boolean -> java.lang.reflect.Method.equals(java.lang.Object): boolean -> java.lang.reflect.Method.equals(java.lang.Object): boolean -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.getModifiers(): int -> java.lang.reflect.Modifier.isPublic(int): boolean -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.lang.Class.getModifiers(): int -> java.lang.reflect.Modifier.isPublic(int): boolean -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.lang.Boolean.equals(java.lang.Object): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.lang.Boolean.equals(java.lang.Object): boolean -> java.lang.System.getProperty(java.lang.String): java.lang.String -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object
 [CALL] [CALL] [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class [CALL] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Class.getSuperclass(): java.lang.Class [EXIT] [EXIT] [CALL] -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [CALL] -> java.lang.reflect.Method.getGenericParameterTypes(): java.lang.reflect.Type[] -> java.lang.Class.isInstance(java.lang.Object): boolean [EXIT] [CALL] -> java.lang.reflect.Method.isVarArgs(): boolean [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.lang.reflect.Method.getName(): java.lang.String -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] [EXIT] -> java.lang.System.arraycopy(java.lang.Object,int,java.lang.Object,int,int): void -> java.lang.Class.isPrimitive(): boolean [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] -> java.lang.reflect.Member.getModifiers(): int [CALL] -> java.lang.reflect.Modifier.isPublic(int): boolean [EXIT] [CALL] -> java.lang.reflect.Modifier.isStatic(int): boolean [EXIT] [CALL] [EXIT] [CALL] -> java.lang.reflect.Modifier.isStatic(int): boolean [EXIT] -> java.lang.reflect.Member.getDeclaringClass(): java.lang.Class [CALL] -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean [EXIT] -> java.lang.reflect.Modifier.isStatic(int): boolean -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Class.getPackage(): java.lang.Package -> java.lang.Class.getPackage(): java.lang.Package [CALL] -> java.lang.Package.getName(): java.lang.String -> java.lang.Package.getName(): java.lang.String -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> 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.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.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Iterator.hasNext(): boolean [EXIT] [CALL] -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean [EXIT] [CALL] [CALL] -> java.util.Set.isEmpty(): boolean [EXIT] [CALL] -> java.util.Set.isEmpty(): boolean [EXIT] [EXIT] [EXIT] [EXIT] -> java.lang.reflect.Method.isVarArgs(): boolean [CALL] -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.lang.reflect.Method.equals(java.lang.Object): boolean -> java.lang.reflect.Method.equals(java.lang.Object): boolean -> java.lang.reflect.Method.equals(java.lang.Object): boolean -> java.lang.reflect.Method.equals(java.lang.Object): boolean -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean [CALL] -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean [EXIT] -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.getModifiers(): int -> java.lang.reflect.Modifier.isPublic(int): boolean -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.lang.Class.getModifiers(): int -> java.lang.reflect.Modifier.isPublic(int): boolean -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.lang.Boolean.equals(java.lang.Object): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.lang.Boolean.equals(java.lang.Object): boolean [CALL] -> java.lang.System.getProperty(java.lang.String): java.lang.String -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [EXIT]