Also, the modules that configures the module might grow in complexity..then 
what ? make another module that configures the module that configures the 
module ?

Den lørdag den 8. marts 2014 22.19.35 UTC+1 skrev Mikkel Petersen:
>
> Yes, but project was started before eventbus existed. Stil, I would like 
> to make the conversion.
> I too thought about the "inject modules first" solution. I think its a bit 
> silly though, and smells like a workaround from something that should be a 
> lot easier to do.
>
> Den lørdag den 8. marts 2014 17.11.57 UTC+1 skrev Nate Bauernfeind:
>>
>> It does depend on how you're doing your listener pattern, but Guava's 
>> EventBus might be a nice alternative, like I explained in an earlier email.
>>
>> I think Sam was just pointing out that it seems like you're using Guice 
>> in an unintended way. Which can decrease the satisfaction of your 
>> particular experience.
>>
>> Which, of course is a shame, because Guice has been an amazing experience 
>> for me, and I won't do any project without it.
>>
>> It should technically be possible to have a two stage dependency 
>> injection setup. I've personally toyed with the idea as a way to decouple 
>> configuration from the application (before I started using dropwizard I 
>> used multiple json files that would auto inject @Named strings). It should 
>> work in your case as well if you name your collections and inject them into 
>> your modules.
>>
>> So the idea is that the first injector is created to instantiate all 
>> modules, so you would need very few super modules that binds each of your 
>> original modules. You will likely want to use multibinder to register each 
>> module so that you can pull them directly off of this initial injector to 
>> construct the second phase injector.
>>
>> It should work and may help with the problem you've found yourself in.
>>
>> If you feel like you can share a handful of module source files with me, 
>> out of thread, I'd be happy to see if there are even better and more 
>> concrete suggestions I can give you.
>>
>> Nate
>> On Mar 8, 2014 9:02 AM, "Mikkel Petersen" <mlp...@gmail.com> wrote:
>>
>>>
>>> Well multiibindings solves, in a way, the listener problem. Because it 
>>> works on sets. But it doesnt solve if I wanted to access other objects from 
>>> other modules.
>>> If you could care to explain to me why this is "wrong" without saying 
>>> "its just wrong" I'm all ears.
>>> You might as well say that using a injection framework is wrong because 
>>> injection is a sign that the logic in your application is wrong.
>>> I'm not convinced at all that my clam is not legitimate but we can 
>>>  disagree on that, no problem. I'll simply note that at this point, Guice 
>>> can't handle this problem.
>>> Den lørdag den 8. marts 2014 15.56.16 UTC+1 skrev Sam Berlin:
>>>>
>>>> I suggested going specifically to StackOverflow, which is a website 
>>>> devoted to programming questions/answers.
>>>>
>>>> Additionally, I suggested a solution of Multibindings, which AFAICT is 
>>>> specifically for the problem you outlined.
>>>>
>>>> If you have further problems, I'm not sure I can help much more, though 
>>>> others on this list may be able to.
>>>>
>>>>  sam
>>>>
>>>>
>>>> On Sat, Mar 8, 2014 at 9:54 AM, Mikkel Petersen <mlp...@gmail.com>wrote:
>>>>
>>>>>
>>>>> Btw, Multibindings doesnt solve this..but I'm glad that you told me I 
>>>>> do things wrong, without telling me why, and without providing an 
>>>>> alternative solution. Did you even look at the sample ?
>>>>> Den lørdag den 8. marts 2014 15.51.21 UTC+1 skrev Mikkel Petersen:
>>>>>
>>>>>> Are you suggestion I should google around and ask ? thanks, would 
>>>>>> have never thought about that..
>>>>>>
>>>>>> Den lørdag den 8. marts 2014 03.45.59 UTC+1 skrev Sam Berlin:
>>>>>>>
>>>>>>> I hate to break it to you, but it increasingly looks like you're 
>>>>>>> making this much harder for yourself, using the framework in a way it's 
>>>>>>> not 
>>>>>>> intended. 
>>>>>>>
>>>>>>> For this particular problem (adding things to a shared pool), 
>>>>>>> there's an extension called Multibinder: http://code.google.com/p/
>>>>>>> google-guice/wiki/Multibindings . 
>>>>>>>
>>>>>>> For other issues, you may want to consider asking for specific 
>>>>>>> guidance and help in StackOverflow (or searching for existing 
>>>>>>> questions/answers).  I suspect you'll find that things will become a 
>>>>>>> lot 
>>>>>>> simpler.
>>>>>>>
>>>>>>> sam
>>>>>>> On Mar 7, 2014 7:33 PM, "Mikkel Petersen" <mlp...@gmail.com> wrote:
>>>>>>>
>>>>>>>> It's hard for me to describe the entire problem..I was really just 
>>>>>>>> looking for a solution to this, now it has turned into something else. 
>>>>>>>> But 
>>>>>>>> fine, I'll try to explain my point further.
>>>>>>>>
>>>>>>>> Lets say its not fully possible to populate an object just from 
>>>>>>>> Module, that other modules should have access to this object as well 
>>>>>>>> in 
>>>>>>>> order for it to be fully ready for use.
>>>>>>>>
>>>>>>>> For example, we have an object NameList
>>>>>>>>
>>>>>>>> Module A {
>>>>>>>>  configure() {
>>>>>>>>       nameList = new NameList()
>>>>>>>>       bind(NameList.class).toInstance(nameList)
>>>>>>>>       name = new Name("peter")
>>>>>>>>         requestInjection(name)
>>>>>>>>       nameList.add(name)
>>>>>>>>    }
>>>>>>>> }
>>>>>>>>
>>>>>>>> Module B {
>>>>>>>>    Name name = new Name("James")
>>>>>>>>    requestInjection(name)
>>>>>>>>    nameList.addName(name)
>>>>>>>>    
>>>>>>>> }
>>>>>>>>
>>>>>>>> Module B binds a new name, injects it, and adds it to the NameLIst. 
>>>>>>>> But the namelist was created and bound in module A !! How will it get 
>>>>>>>> a 
>>>>>>>> reference to NameList ?
>>>>>>>> We could do something like this 
>>>>>>>>
>>>>>>>> GuiceStatics {
>>>>>>>>    public static NameList nameList
>>>>>>>> }
>>>>>>>> And access it from here. Or make a singleton factory or whatever. 
>>>>>>>>  But why ? this is what Guice helps us to avoid !
>>>>>>>>
>>>>>>>> Point is, the entire module section of any application can grow 
>>>>>>>> into something huge itself. And because of that, it needs dependency 
>>>>>>>> injection itself.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Den lørdag den 8. marts 2014 01.22.37 UTC+1 skrev Sam Berlin:
>>>>>>>>>
>>>>>>>>> I don't understand why your modules need things injected.  The 
>>>>>>>>> point of modules is to set up rules saying "this is bound to that" 
>>>>>>>>> and 
>>>>>>>>> "when someone wants this, give them that".  It does not require 
>>>>>>>>> knowing the 
>>>>>>>>> interrelationships of each object.  I highly suspect there's 
>>>>>>>>> something 
>>>>>>>>> fundamentally wrong with your setup, but it's hard to say for certain 
>>>>>>>>> without knowing what you're doing.
>>>>>>>>>
>>>>>>>>>  sam
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Fri, Mar 7, 2014 at 7:18 PM, Mikkel Petersen 
>>>>>>>>> <mlp...@gmail.com>wrote:
>>>>>>>>>
>>>>>>>>>> I have already optimized each and every module..I have spent 
>>>>>>>>>> years doing that, really. But they still run into the exact same 
>>>>>>>>>> problem 
>>>>>>>>>> that Guice was supposed to solve: how do we get object A to object B.
>>>>>>>>>> With hundreds of modules, that problem will occur over and 
>>>>>>>>>> over..For example, I have a list of Listeners in Module A. Module A 
>>>>>>>>>> binds 
>>>>>>>>>> them, plus add some listener code to the list. Module XYZ23B now 
>>>>>>>>>> wants to 
>>>>>>>>>> add a listener to this list as well. How ? Only solution right now 
>>>>>>>>>> is to 
>>>>>>>>>> have a class that references this list public and statically. Now, 
>>>>>>>>>> you 
>>>>>>>>>> could say, my logic is wrong. All logic concerned this listener list 
>>>>>>>>>> should 
>>>>>>>>>> be in one module..but perhaps the two do not have much in common 
>>>>>>>>>> logic wise 
>>>>>>>>>> than this object.
>>>>>>>>>>
>>>>>>>>>> Den lørdag den 8. marts 2014 01.08.14 UTC+1 skrev Nate 
>>>>>>>>>> Bauernfeind:
>>>>>>>>>>>
>>>>>>>>>>> I can't say that I've ever dealt with an experience of having 
>>>>>>>>>>> 100+ unique modules (now if you want to talk about 100+ child 
>>>>>>>>>>> injectors 
>>>>>>>>>>> created from different instances of the same module (i.e. as a 
>>>>>>>>>>> template)... 
>>>>>>>>>>> now that I've done). I think my largest experience has sliced 
>>>>>>>>>>> things up 
>>>>>>>>>>> into maybe 15 modules; which is still quite a handful to manage.
>>>>>>>>>>>
>>>>>>>>>>> The biggest thing that I did that helped managed dependency 
>>>>>>>>>>> relationships across modules was to prefer PrivateModules over 
>>>>>>>>>>> completely 
>>>>>>>>>>> public AbstractModules. It made me really think about what each 
>>>>>>>>>>> module was 
>>>>>>>>>>> being used for and what it exposed for use with the rest of the 
>>>>>>>>>>> application. For example, I don't mind creating a different 
>>>>>>>>>>> ExecutorService 
>>>>>>>>>>> that might be used in an entire sub-graph that is not shared across 
>>>>>>>>>>> all of 
>>>>>>>>>>> my modules. In fact, limiting how portions of your application can 
>>>>>>>>>>> interact, or interfere, with each other can dramatically improve 
>>>>>>>>>>> your 
>>>>>>>>>>> experience when debugging or fine-tuning certain things. 
>>>>>>>>>>>
>>>>>>>>>>> Perhaps, migrating and merging some of your modules to each have 
>>>>>>>>>>> a specific purpose might bring things back to being manageable and 
>>>>>>>>>>> meaningful for you.
>>>>>>>>>>>
>>>>>>>>>>> Additionally, I've had some experience here and there using 
>>>>>>>>>>> Guava's EventBus to further decouple sub-systems by instead 
>>>>>>>>>>> communicating 
>>>>>>>>>>> with messages. For example instead of injecting the TwitterService 
>>>>>>>>>>> and have 
>>>>>>>>>>> every listener register itself as a listener, I instead can use the 
>>>>>>>>>>> EventBus to subscribe to all messages of a type "TwitterEvent" and 
>>>>>>>>>>> then the 
>>>>>>>>>>> messages get to the right places behind the scenes on my behalf 
>>>>>>>>>>> (you only 
>>>>>>>>>>> need to add an @Subscribe assuming you let guice register your 
>>>>>>>>>>> objects). 
>>>>>>>>>>> This works well for data that flows as opposed to data that you 
>>>>>>>>>>> need to 
>>>>>>>>>>> pass back an answer (though I've tried this too by passing a 
>>>>>>>>>>> settable 
>>>>>>>>>>> Future as a means of a lightweight callback -- but I wasn't 
>>>>>>>>>>> extremely 
>>>>>>>>>>> satisfied, nor unsatisfied, with the result). The applications that 
>>>>>>>>>>> I have 
>>>>>>>>>>> that use an event bus can typically remove a guice module from the 
>>>>>>>>>>> list 
>>>>>>>>>>> that gets passed into the injector and everything will still start 
>>>>>>>>>>> up and 
>>>>>>>>>>> run appropriately -- just no one will get any TwitterEvents if that 
>>>>>>>>>>> module 
>>>>>>>>>>> was removed.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Fri, Mar 7, 2014 at 5:16 PM, Mikkel Petersen <
>>>>>>>>>>> mlp...@gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Thank you all for your responses !
>>>>>>>>>>>>
>>>>>>>>>>>> Problem is, my application has grown to the point that even the 
>>>>>>>>>>>> modules themselves have becoming an application.
>>>>>>>>>>>>
>>>>>>>>>>>> So there are many objects created in different modules, needed 
>>>>>>>>>>>> by others...
>>>>>>>>>>>>
>>>>>>>>>>>> What I really need is to be able to inject dependencies into 
>>>>>>>>>>>> module.
>>>>>>>>>>>>
>>>>>>>>>>>> The ideal solution would be 
>>>>>>>>>>>> TestModule extends Module   {
>>>>>>>>>>>>    Inject SomeObjectCreatedInAFarWayModule someObject; 
>>>>>>>>>>>>  }
>>>>>>>>>>>>
>>>>>>>>>>>> But that is not possible, so because of that I took a look at 
>>>>>>>>>>>> providers, which allow dependencies to be injected into modules.
>>>>>>>>>>>> My application has at least 100 modules by now, and growing.
>>>>>>>>>>>> So far I have used static public objects, but as everyone 
>>>>>>>>>>>> knows, that is bad practice.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Den lørdag den 8. marts 2014 00.07.22 UTC+1 skrev Nate 
>>>>>>>>>>>> Bauernfeind:
>>>>>>>>>>>>>
>>>>>>>>>>>>> @Provides are typically when you need to inject an instance of 
>>>>>>>>>>>>> some library out of your control that doesn't have any guice 
>>>>>>>>>>>>> bindings. I 
>>>>>>>>>>>>> try to avoid using providers for any other use case. In your 
>>>>>>>>>>>>> specific 
>>>>>>>>>>>>> example, I would do what Sam suggested and just simply inject the 
>>>>>>>>>>>>> Settings 
>>>>>>>>>>>>> object.
>>>>>>>>>>>>>
>>>>>>>>>>>>> I use dropwizard a lot and typically finding myself creating 
>>>>>>>>>>>>> hierarchical configuration objects, and passing the 
>>>>>>>>>>>>> sub-configuration 
>>>>>>>>>>>>> object to a specific module. For example,
>>>>>>>>>>>>>
>>>>>>>>>>>>> class ApplicationConfiguration {
>>>>>>>>>>>>>   public DatabaseConfiguration data;
>>>>>>>>>>>>>   public TwitterConfiguration twitter;
>>>>>>>>>>>>>   ...
>>>>>>>>>>>>> }
>>>>>>>>>>>>>
>>>>>>>>>>>>> And then they map one-to-one to a top-level PrivateModule 
>>>>>>>>>>>>> which accepts the sub-configuration object as part of its 
>>>>>>>>>>>>> constructor. Then 
>>>>>>>>>>>>> I can easily either inject the configuration class privately for 
>>>>>>>>>>>>> that 
>>>>>>>>>>>>> sub-portion of my application, or do whatever I need to with it 
>>>>>>>>>>>>> (like 
>>>>>>>>>>>>> configure an http client in a @Provides method).
>>>>>>>>>>>>>
>>>>>>>>>>>>> Happy Guicing! 
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Fri, Mar 7, 2014 at 5:00 PM, Mikkel Petersen <
>>>>>>>>>>>>> mlp...@gmail.com> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks for your response.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> It's seems overly complicated and I must admit, I don't 
>>>>>>>>>>>>>> understand it fully..though it properly works..I fail to see the 
>>>>>>>>>>>>>> usage of 
>>>>>>>>>>>>>> @Provides methods if the object provided doesn't have the object 
>>>>>>>>>>>>>> graph 
>>>>>>>>>>>>>> injected.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Den fredag den 7. marts 2014 23.54.17 UTC+1 skrev Nate 
>>>>>>>>>>>>>> Bauernfeind:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> It's a bit more work, but you could consider using assisted 
>>>>>>>>>>>>>>> injection for this kind of use-case. My typical pattern looks 
>>>>>>>>>>>>>>> like this:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> public class Example {
>>>>>>>>>>>>>>>     @Inject
>>>>>>>>>>>>>>>     public Example(@Assisted("host") String host
>>>>>>>>>>>>>>>                    HttpClient httpClient,
>>>>>>>>>>>>>>>                    ...) {
>>>>>>>>>>>>>>>        ...
>>>>>>>>>>>>>>>     }
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>     /** This class is a Guice Assisted-Inject Factory. */
>>>>>>>>>>>>>>>     public static interface Factory {
>>>>>>>>>>>>>>>         Example newExample(@Assisted("host") String host);
>>>>>>>>>>>>>>>     }
>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> ...
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> public class ExampleModule {
>>>>>>>>>>>>>>>   void configure() {
>>>>>>>>>>>>>>>     bindFactory(Example.class, Example.Factory.class);
>>>>>>>>>>>>>>>   }
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>   protected <T, F> void bindFactory(Class<T> klass, Class<F> 
>>>>>>>>>>>>>>> factoryKlass) {
>>>>>>>>>>>>>>>         bindFactory(klass, klass, factoryKlass);
>>>>>>>>>>>>>>>    }
>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> And then you can still use a provider method (if you 
>>>>>>>>>>>>>>> prefer!) and then you inject the factory and the settings.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> @Provides
>>>>>>>>>>>>>>> public Example someExample(Example.Factory factory, Settings 
>>>>>>>>>>>>>>> settings) {
>>>>>>>>>>>>>>>   return factory.newExample(settings.getHost());
>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Hope that helps! I use this pattern a lot, but not often 
>>>>>>>>>>>>>>> mixed with a Provider -- usually I have a class that manages 
>>>>>>>>>>>>>>> the multiple 
>>>>>>>>>>>>>>> instances key'ed by some name (like client or user).
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Fri, Mar 7, 2014 at 4:44 PM, Mikkel Petersen <
>>>>>>>>>>>>>>> mlp...@gmail.com> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Because I want to receive other bindings:
>>>>>>>>>>>>>>>> public Service someService(@Inject Settings settings)  {
>>>>>>>>>>>>>>>>   SomeService s =  new SomeService(settings.getHost())
>>>>>>>>>>>>>>>>   inj.injectMembers(s)
>>>>>>>>>>>>>>>>   return s
>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Den fredag den 7. marts 2014 23.32.42 UTC+1 skrev Nate 
>>>>>>>>>>>>>>>> Bauernfeind:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> What about your use case prevents you from using a normal 
>>>>>>>>>>>>>>>>> .to binding?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> bind(SomeService.class).to(SomeService.class)
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>  Nate
>>>>>>>>>>>>>>>>>   
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Fri, Mar 7, 2014 at 4:13 PM, Mikkel Petersen <
>>>>>>>>>>>>>>>>> mlp...@gmail.com> wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>  Hello all 
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I have a slight problem with guice injection when using a 
>>>>>>>>>>>>>>>>>> method annotated with  @Provides
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> example :
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> @Provides
>>>>>>>>>>>>>>>>>> public Service someService() {
>>>>>>>>>>>>>>>>>>  return new SomeService()
>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I would like to get the current context injected in 
>>>>>>>>>>>>>>>>>> SomeService..I don't understand why Guice doesn't do that 
>>>>>>>>>>>>>>>>>> automatically, 
>>>>>>>>>>>>>>>>>> any particular reason for that ?
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I know I could do something like this (it works):
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> @Provides
>>>>>>>>>>>>>>>>>> public Service someService(@Inject Injector inj)  {
>>>>>>>>>>>>>>>>>>   SomeService s =  new SomeService()
>>>>>>>>>>>>>>>>>>   inj.injectMembers(s)
>>>>>>>>>>>>>>>>>>   return s
>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> But there must be a simpler way.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Ps, another question, how to add syntax highlighting ?
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>  -- 
>>>>>>>>>>>>>>>>>> You received this message because you are subscribed to 
>>>>>>>>>>>>>>>>>> the Google Groups "google-guice" group.
>>>>>>>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails 
>>>>>>>>>>>>>>>>>> from it, send an email to google-guice...@googlegroups.c
>>>>>>>>>>>>>>>>>> om.
>>>>>>>>>>>>>>>>>> To post to this group, send email to 
>>>>>>>>>>>>>>>>>> google...@googlegroups.com.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Visit this group at http://groups.google.com/group
>>>>>>>>>>>>>>>>>> /google-guice.
>>>>>>>>>>>>>>>>>> For more options, visit https://groups.google.com/d/op
>>>>>>>>>>>>>>>>>> tout.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>  -- 
>>>>>>>>>>>>>>>> You received this message because you are subscribed to the 
>>>>>>>>>>>>>>>> Google Groups "google-guice" group.
>>>>>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails 
>>>>>>>>>>>>>>>> from it, send an email to google-guice...@googlegroups.com.
>>>>>>>>>>>>>>>> To post to this group, send email to 
>>>>>>>>>>>>>>>> google...@googlegroups.com.
>>>>>>>>>>>>>>>> Visit this group at http://groups.google.com/group
>>>>>>>>>>>>>>>> /google-guice.
>>>>>>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>  -- 
>>>>>>>>>>>>>> You received this message because you are subscribed to the 
>>>>>>>>>>>>>> Google Groups "google-guice" group.
>>>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from 
>>>>>>>>>>>>>> it, send an email to google-guice...@googlegroups.com.
>>>>>>>>>>>>>> To post to this group, send email to 
>>>>>>>>>>>>>> google...@googlegroups.com.
>>>>>>>>>>>>>> Visit this group at http://groups.google.com/group
>>>>>>>>>>>>>> /google-guice.
>>>>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>  -- 
>>>>>>>>>>>> You received this message because you are subscribed to the 
>>>>>>>>>>>> Google Groups "google-guice" group.
>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from 
>>>>>>>>>>>> it, send an email to google-guice...@googlegroups.com.
>>>>>>>>>>>> To post to this group, send email to google...@googlegroups.com
>>>>>>>>>>>> .
>>>>>>>>>>>> Visit this group at http://groups.google.com/group/google-guice
>>>>>>>>>>>> .
>>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>  -- 
>>>>>>>>>> You received this message because you are subscribed to the 
>>>>>>>>>> Google Groups "google-guice" group.
>>>>>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>>>>>> send an email to google-guice...@googlegroups.com.
>>>>>>>>>> To post to this group, send email to google...@googlegroups.com.
>>>>>>>>>> Visit this group at http://groups.google.com/group/google-guice.
>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>  -- 
>>>>>>>> You received this message because you are subscribed to the Google 
>>>>>>>> Groups "google-guice" group.
>>>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>>>> send an email to google-guice...@googlegroups.com.
>>>>>>>> To post to this group, send email to google...@googlegroups.com.
>>>>>>>> Visit this group at http://groups.google.com/group/google-guice.
>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>
>>>>>>>  -- 
>>>>> You received this message because you are subscribed to the Google 
>>>>> Groups "google-guice" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>>> an email to google-guice...@googlegroups.com.
>>>>> To post to this group, send email to google...@googlegroups.com.
>>>>> Visit this group at http://groups.google.com/group/google-guice.
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>>  -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "google-guice" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to google-guice...@googlegroups.com.
>>> To post to this group, send email to google...@googlegroups.com.
>>> Visit this group at http://groups.google.com/group/google-guice.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"google-guice" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-guice+unsubscr...@googlegroups.com.
To post to this group, send email to google-guice@googlegroups.com.
Visit this group at http://groups.google.com/group/google-guice.
For more options, visit https://groups.google.com/d/optout.

Reply via email to