Buggy code:
public class WebDriverGridModule implements ModuleProvider < RemoteWebDriverInterface > { private static Logger logger = LoggerFactory . getLogger ( WebDriverGridModule . class ) ; private static final String webDriverSystemPropertyForGridUrl = "webdriver.remote.server" ; private static URL GRID_LOCATION ; protected WebDriver getRemoteWithVersion ( DesiredCapabilities dc , String version ) { } public static class IE6 extends WebDriverGridModule implements PooledModule < RemoteWebDriverInterface > { @ Override public WebDriver getDriver ( ) throws Exception { } } public static class IE7 extends WebDriverGridModule implements PooledModule < RemoteWebDriverInterface > { @ Override public WebDriver getDriver ( ) throws Exception { } } public static class IE8 extends WebDriverGridModule implements PooledModule < RemoteWebDriverInterface > { @ Override public WebDriver getDriver ( ) throws Exception { } } public static class IE9 extends WebDriverGridModule implements PooledModule < RemoteWebDriverInterface > { @ Override public WebDriver getDriver ( ) throws Exception { } } public static class Chrome extends WebDriverGridModule implements PooledModule < RemoteWebDriverInterface > { @ Override public WebDriver getDriver ( ) throws Exception { } } public static class Firefox extends WebDriverGridModule implements PooledModule < RemoteWebDriverInterface > { @ Override public WebDriver getDriver ( ) throws Exception { } } public static class Firefox36 extends WebDriverGridModule implements PooledModule < RemoteWebDriverInterface > { @ Override public WebDriver getDriver ( ) throws Exception { } } public static class Firefox6 extends WebDriverGridModule implements PooledModule < RemoteWebDriverInterface > { @ Override public WebDriver getDriver ( ) throws Exception { } } public static class Firefox7 extends WebDriverGridModule implements PooledModule < RemoteWebDriverInterface > { @ Override public WebDriver getDriver ( ) throws Exception { } } public static class Firefox8 extends WebDriverGridModule implements PooledModule < RemoteWebDriverInterface > { @ Override public WebDriver getDriver ( ) throws Exception { } } public static class HtmlUnitFirefox extends WebDriverGridModule implements PooledModule < RemoteWebDriverInterface > { @ Override public WebDriver getDriver ( ) throws Exception { } } public static class HtmlUnitIE extends WebDriverGridModule implements PooledModule < RemoteWebDriverInterface > { @ Override public WebDriver getDriver ( ) throws Exception { } } public static class Android extends WebDriverGridModule implements PooledModule < RemoteWebDriverInterface > { @ Override public WebDriver getDriver ( ) throws Exception { } } public static class IPhone extends WebDriverGridModule implements PooledModule < RemoteWebDriverInterface > { @ Override public WebDriver getDriver ( ) throws Exception { } } public WebDriver getDriver ( ) throws Exception { } public Object makeObject ( ) throws Exception { } public String getName ( ) { } public Class < ? extends RemoteWebDriverInterface > getTargetClass ( ) { } public Map < String , Class < ? > > getDependencyDefinition ( ) { } public RemoteWebDriverInterface create ( Map < String , ? > dependencies ) { } public void destroy ( ) { } public String getModuleType ( ) { <START_BUG> return RemoteWebDriverInterface . class . getSimpleName ( ) ; <END_BUG> } public void destroyObject ( Object obj ) throws Exception { } public boolean validateObject ( Object obj ) { } public void activateObject ( Object obj ) throws Exception { } public void passivateObject ( Object obj ) throws Exception { } public int getMaxPoolElements ( ) { } }

Fix:
return WebDriverModule . class . getSimpleName ( ) ;