I wanna collect the methods invoked by a specific method both explicitly and implicitly.For example:
Class A {
@Autowired 
C c;
foo() {
    B b = new B();
    b.print("abc");
    if (somecondition) {
        c.anotherPrint("def");
    }
}
Class B {
    print(String arg) {
    }
}
Class C {
    @Autowired
    B b;
    anotherPrint(String arg) {
        b.print(arg);
    }
}
From the code above I wanna collect the information that Class A's method foo invoke B's print() method with the argument "abc" and "def".Something like a call graph
A::foo 
    -->  B::print("abc")
    -->  C::anotherPrint("def")
            --> B::print("def")