<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<comments
  xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
  xsi:noNamespaceSchemaLocation='comments.xsd'
  name="v1_to_v2"
  jdversion="1.1.1">

<!-- This file contains comments for a JDiff report. -->
<!-- It is used only in generating the report, and does not need to ship with the final report. -->

<!-- The id attribute in an identifier element identifies the change as noted in the report. -->
<!-- An id has the form package[.class[.[ctor|method|field].signature]], where [] indicates optional text. -->
<!-- A comment element can have multiple identifier elements, which will -->
<!-- will cause the same text to appear at each place in the report, but -->
<!-- will be converted to separate comments when the comments file is used. -->
<!-- HTML tags in the text field will appear in the report. -->
<!-- You also need to close p HTML elements, used for paragraphs - see the top-level documentation. -->
<comment>
  <identifier id="com.google.inject"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.AbstractModule"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.AbstractModule.addError_added(com.google.inject.spi.Message)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.AbstractModule.convertToTypes_added(com.google.inject.matcher.Matcher&lt;? super com.google.inject.TypeLiteral&lt;?&gt;&gt;, com.google.inject.spi.TypeConverter)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.AbstractModule.currentStage_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.AbstractModule.getProvider_added(com.google.inject.Key&lt;T&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.AbstractModule.getProvider_added(java.lang.Class&lt;T&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.AbstractModule.requestInjection_added(java.lang.Object[])"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.AbstractModule.requireBinding_added(com.google.inject.Key&lt;?&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.AbstractModule.requireBinding_added(java.lang.Class&lt;?&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Binder"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Binder.addError_added(com.google.inject.spi.Message)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Binder.bindConstant_changed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Binder.bind_changed(com.google.inject.Key&lt;T&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Binder.bind_changed(com.google.inject.TypeLiteral&lt;T&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Binder.bind_changed(java.lang.Class&lt;T&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Binder.convertToTypes_added(com.google.inject.matcher.Matcher&lt;? super com.google.inject.TypeLiteral&lt;?&gt;&gt;, com.google.inject.spi.TypeConverter)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Binder.getProvider_added(com.google.inject.Key&lt;T&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Binder.getProvider_added(java.lang.Class&lt;T&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Binder.newPrivateBinder_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Binder.requestInjection_added(java.lang.Object[])"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Binder.skipSources_added(java.lang.Class[])"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Binder.withSource_added(java.lang.Object)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Binding"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Binding.acceptScopingVisitor_added(com.google.inject.spi.BindingScopingVisitor&lt;V&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Binding.acceptTargetVisitor_added(com.google.inject.spi.BindingTargetVisitor&lt;? super T, V&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Binding.getProvider_changed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Binding.getSource_removed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.BindingAnnotation"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.ConfigurationException"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.CreationException"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.CreationException.ctor_changed(java.lang.Iterable&lt;com.google.inject.spi.Message&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.CreationException.getErrorMessages_changed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Exposed"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Guice"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Guice.createInjector_added(com.google.inject.Stage, java.lang.Iterable&lt;? extends com.google.inject.Module&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Guice.createInjector_added(java.lang.Iterable&lt;? extends com.google.inject.Module&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Guice.createInjector_changed(com.google.inject.Module[])"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Guice.createInjector_changed(com.google.inject.Stage, com.google.inject.Module[])"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Guice.createInjector_removed(com.google.inject.Stage, java.lang.Iterable&lt;com.google.inject.Module&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Guice.createInjector_removed(java.lang.Iterable&lt;com.google.inject.Module&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Injector"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Injector.createChildInjector_added(com.google.inject.Module[])"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Injector.createChildInjector_added(java.lang.Iterable&lt;? extends com.google.inject.Module&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Injector.findBindingsByType_changed(com.google.inject.TypeLiteral&lt;T&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Injector.getBinding_added(java.lang.Class&lt;T&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Injector.getBinding_changed(com.google.inject.Key&lt;T&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Injector.getBindings_changed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Injector.getInstance_changed(com.google.inject.Key&lt;T&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Injector.getInstance_changed(java.lang.Class&lt;T&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Injector.getParent_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Injector.getProvider_changed(com.google.inject.Key&lt;T&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Injector.getProvider_changed(java.lang.Class&lt;T&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Injector.injectMembers_changed(java.lang.Object)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Key"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Key.equals_changed(java.lang.Object)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Key.getAnnotationType_changed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Key.getAnnotation_changed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Key.getTypeLiteral_changed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Key.hashCode_changed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Key.toString_changed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Key.writeReplace_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Module"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Module.configure_changed(com.google.inject.Binder)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.OutOfScopeException"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.PrivateModule"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Provider"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Provider.get_changed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Provides"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.ProvisionException"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Scope"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Scope.scope_changed(com.google.inject.Key&lt;T&gt;, com.google.inject.Provider&lt;T&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Scopes"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.Scopes.NO_SCOPE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.TypeLiteral"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.TypeLiteral.equals_changed(java.lang.Object)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.TypeLiteral.getExceptionTypes_added(java.lang.reflect.Member)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.TypeLiteral.getFieldType_added(java.lang.reflect.Field)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.TypeLiteral.getParameterTypes_added(java.lang.reflect.Member)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.TypeLiteral.getRawType_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.TypeLiteral.getReturnType_added(java.lang.reflect.Method)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.TypeLiteral.getSupertype_added(java.lang.Class&lt;?&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.TypeLiteral.getType_changed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.TypeLiteral.hashCode_changed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.TypeLiteral.toString_changed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.assistedinject"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.binder"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.binder.AnnotatedBindingBuilder"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.binder.AnnotatedBindingBuilder.annotatedWith_changed(java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.binder.AnnotatedBindingBuilder.annotatedWith_changed(java.lang.annotation.Annotation)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.binder.AnnotatedConstantBindingBuilder"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.binder.AnnotatedConstantBindingBuilder.annotatedWith_changed(java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.binder.AnnotatedConstantBindingBuilder.annotatedWith_changed(java.lang.annotation.Annotation)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.binder.AnnotatedElementBuilder"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.binder.LinkedBindingBuilder"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.binder.LinkedBindingBuilder.toInstance_changed(T)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.binder.LinkedBindingBuilder.toProvider_changed(com.google.inject.Key&lt;? extends com.google.inject.Provider&lt;? extends T&gt;&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.binder.LinkedBindingBuilder.toProvider_changed(com.google.inject.Provider&lt;? extends T&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.binder.LinkedBindingBuilder.toProvider_changed(java.lang.Class&lt;? extends com.google.inject.Provider&lt;? extends T&gt;&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.binder.LinkedBindingBuilder.to_changed(com.google.inject.Key&lt;? extends T&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.binder.LinkedBindingBuilder.to_changed(com.google.inject.TypeLiteral&lt;? extends T&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.binder.LinkedBindingBuilder.to_changed(java.lang.Class&lt;? extends T&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.PrivateBinder"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.binder.ScopedBindingBuilder"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.binder.ScopedBindingBuilder.asEagerSingleton_changed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.binder.ScopedBindingBuilder.in_changed(com.google.inject.Scope)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.binder.ScopedBindingBuilder.in_changed(java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.matcher"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.matcher.Matchers"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.matcher.Matchers.inPackage_changed(java.lang.Package)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.matcher.Matchers.inSubpackage_added(java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.multibindings"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.name"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.name.Names"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.name.Names.bindProperties_changed(com.google.inject.Binder, java.util.Map&lt;java.lang.String, java.lang.String&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.name.Names.bindProperties_changed(com.google.inject.Binder, java.util.Properties)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.servlet"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.servlet.GuiceFilter"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.servlet.GuiceServletContextListener"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.servlet.ServletModule"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.servlet.ServletModule.FilterKeyBindingBuilder"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.servlet.ServletModule.ServletKeyBindingBuilder"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.servlet.ServletModule.configureServlets_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.servlet.ServletModule.configure_changed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.servlet.ServletModule.filterRegex_added(java.lang.String, java.lang.String[])"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.servlet.ServletModule.filter_added(java.lang.String, java.lang.String[])"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.servlet.ServletModule.serveRegex_added(java.lang.String, java.lang.String[])"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.servlet.ServletModule.serve_added(java.lang.String, java.lang.String[])"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.BindingScopingVisitor"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.BindingTargetVisitor"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.ConstructorBinding"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.ConvertedConstantBinding"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.DefaultBindingScopingVisitor"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.DefaultBindingTargetVisitor"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.DefaultElementVisitor"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.Dependency"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.Element"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.ElementVisitor"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.Elements"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.ExposedBinding"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.HasDependencies"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.InjectionPoint"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.InjectionRequest"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.InstanceBinding"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.InterceptorBinding"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.LinkedKeyBinding"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.Message"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.Message.acceptVisitor_added(com.google.inject.spi.ElementVisitor&lt;T&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.Message.ctor_added(java.util.List&lt;java.lang.Object&gt;, java.lang.String, java.lang.Throwable)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.Message.getCause_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.Message.getSourceString_removed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.Message.getSource_changed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.Message.getSources_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.ModuleWriter"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.PrivateElements"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.ProviderBinding"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.ProviderInstanceBinding"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.ProviderKeyBinding"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.ProviderLookup"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.ProviderWithDependencies"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.ScopeBinding"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.SourceProvider"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.SourceProviders"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.StaticInjectionRequest"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.TypeConverter"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.TypeConverterBinding"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.spi.UntargettedBinding"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.throwingproviders"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="com.google.inject.util"/>
  <text>
    InsertCommentsHere
  </text>
</comment>

</comments>
