private MethodSpec bindAndroidInjectorFactory( AndroidInjectorDescriptor descriptor, ClassName subcomponentBuilderName) { return methodBuilder("bindAndroidInjectorFactory") .addAnnotation(Binds.class) .addAnnotation(IntoMap.class) .addAnnotation(descriptor.mapKeyAnnotation()) .addModifiers(ABSTRACT) .returns( parameterizedTypeName( AndroidInjector.Factory.class, WildcardTypeName.subtypeOf(descriptor.frameworkType()))) .addParameter(subcomponentBuilderName, "builder") .build(); }