### Question:
CompositeDescriptorProvider implements DescriptorProvider { @Override public <A extends Analyzer<?>> AnalyzerDescriptor<A> getAnalyzerDescriptorForClass(final Class<A> analyzerClass) { for (final DescriptorProvider provider : delegates) { final AnalyzerDescriptor<A> descriptor = provider.getAnalyzerDescriptorForClass(analyzerClass); if (descriptor != null) { return descriptor; } } return null; } CompositeDescriptorProvider(); void addDelegates(final List<DescriptorProvider> descriptorProviders); void addDelegate(final DescriptorProvider descriptorProvider); @Override void refresh(); @Override Collection<AnalyzerDescriptor<?>> getAnalyzerDescriptors(); @Override AnalyzerDescriptor<A> getAnalyzerDescriptorForClass(final Class<A> analyzerClass); @Override AnalyzerDescriptor<?> getAnalyzerDescriptorByDisplayName(final String name); @Override ComponentDescriptor<?> getComponentDescriptorByDisplayName(final String name); @Override Collection<TransformerDescriptor<?>> getTransformerDescriptors(); @Override TransformerDescriptor<T> getTransformerDescriptorForClass(
            final Class<T> transformerClass); @Override TransformerDescriptor<?> getTransformerDescriptorByDisplayName(final String name); @Override Collection<FilterDescriptor<?, ?>> getFilterDescriptors(); @Override FilterDescriptor<F, C> getFilterDescriptorForClass(
            final Class<F> filterClass); @Override FilterDescriptor<?, ?> getFilterDescriptorByDisplayName(final String name); @Override Set<ComponentSuperCategory> getComponentSuperCategories(); @Override Collection<? extends ComponentDescriptor<?>> getComponentDescriptors(); @Override Collection<? extends ComponentDescriptor<?>> getComponentDescriptorsOfSuperCategory(
            final ComponentSuperCategory category); @Override Collection<RendererBeanDescriptor<?>> getRendererBeanDescriptors(); @Override RendererBeanDescriptor<R> getRendererBeanDescriptorForClass(
            final Class<R> rendererBeanClass); @Override Collection<RendererBeanDescriptor<?>> getRendererBeanDescriptorsForRenderingFormat(
            final Class<? extends RenderingFormat<?>> renderingFormat); @Override void addListener(final DescriptorProviderListener listener); @Override void removeListener(final DescriptorProviderListener listener); ClasspathScanDescriptorProvider findClasspathScanProvider();  }### Answer:
@Test public void testGetAnalyzerDescriptorByClass() { Assert.assertEquals(ad1, dp.getAnalyzerDescriptorForClass(AnalyzerMock.class)); Assert.assertEquals(ad2, dp.getAnalyzerDescriptorForClass( AnnotationBasedAnalyzerComponentDescriptorTest.OneMoreMockAnalyzer.class)); }