From what I understand Guice supports injection for: Constructors, Setters (which they call method injection for some reason), fields. 

Can it also inject method parameters? For example:

```
void foo(InterfaceA a, InterfaceA a1){
    ...
}

interface InterfaceA{
    ...
}

class A implements InterfaceA{
    ....
}

class B implements InterfaceA{
    ....
}

```

I want to be able to bind `a` in `foo` to type `A` and `a1` to `B` (will probably need annotation but lets ignore that for a second).
I want this to be done on **invocation**. 

This seems different from the normal use cases (c'tor, fields, setters) in the sense that the dependency injection will happen on invocation rather than on object creation. 

So is this possible?