package com.smokejumperit.guice;

import com.google.inject.AbstractModule;
import com.smokejumperit.guice.concurrent.ConcurrentModule;

public class CoreModule extends AbstractModule {

	@Override
	protected void configure() {
		install(new ConcurrentModule());
	}

}

@@ -71,16 +71,50 @@
 odule;%0D%0A
+import com.google.inject.Module;%0D%0A
 import c
@@ -170,139 +170,925 @@
 e;%0D%0A
-%0D%0Apublic class CoreModule extends AbstractModule %7B%0D%0A%0D%0A%09@Override%0D%0A%09protected void configure() %7B%0D%0A%09%09install(new ConcurrentModule());
+import com.smokejumperit.guice.properties.PropertiesModule;%0D%0A%0D%0Apublic class CoreModule extends AbstractModule %7B%0D%0A%0D%0A%09private final Module%5B%5D modules;%0D%0A%0D%0A%09/**%0D%0A%09 * Provides the default set of core modules.%0D%0A%09 */%0D%0A%09public CoreModule() %7B%0D%0A%09%09this(new ConcurrentModule(), new PropertiesModule());%0D%0A%09%7D%0D%0A%0D%0A%09/**%0D%0A%09 * Provides those core modules that are passed into the constructor.%0D%0A%09 * %0D%0A%09 * @param concurrent%0D%0A%09 *          The %7B@link ConcurrentModule%7D to use; may be %7B@code null%7D to not install this module.%0D%0A%09 * @param props%0D%0A%09 *          The %7B@link PropertiesModule%7D to use; may be %7B@code null%7D to not install this module.%0D%0A%09 */%0D%0A%09public CoreModule(ConcurrentModule concurrent, PropertiesModule props) %7B%0D%0A%09%09modules = new Module%5B%5D %7B%0D%0A%09%09%09%09concurrent, props%0D%0A%09%09%7D;%0D%0A%09%7D%0D%0A%0D%0A%09@Override%0D%0A%09protected void configure() %7B%0D%0A%09%09if (modules == null) return;%0D%0A%09%09for (Module module : modules) %7B%0D%0A%09%09%09if (module != null) install(module);%0D%0A%09%09%7D
 %0D%0A%09%7D

Add PropertiesModule into the CoreModule