### Question:
CompositeInstrumenter implements Instrumenter { @Override public String getDescription() { final StringBuilder result = new StringBuilder(); for (Instrumenter instrumenter : m_instrumenters) { final String description = instrumenter.getDescription(); if (description != null) { if (result.length() > 0) { result.append("; "); } result.append(description); } } return result.toString(); } CompositeInstrumenter(Instrumenter... instrumenters);  CompositeInstrumenter(List<Instrumenter> instrumenters); @Override Object createInstrumentedProxy(Test test,
                                                  Recorder recorder,
                                                  Object target); @Override boolean instrument(Test test,
                                      Recorder recorder,
                                      Object target); @Override boolean instrument(Test test,
                                      Recorder recorder,
                                      Object target,
                                      InstrumentationFilter filter); @Override String getDescription();  }### Answer:
@Test public void testGetDescription() throws Exception { when(m_instrumenter1.getDescription()).thenReturn("I1"); when(m_instrumenter2.getDescription()).thenReturn("I2"); assertEquals("I1; I2", new CompositeInstrumenter(m_instrumenter1, m_instrumenter2) .getDescription()); assertEquals("I1", new CompositeInstrumenter(m_instrumenter1).getDescription()); assertEquals("", new CompositeInstrumenter().getDescription()); when(m_instrumenter2.getDescription()).thenReturn(null); assertEquals("I1", new CompositeInstrumenter(m_instrumenter1, m_instrumenter2) .getDescription()); }