### Question:
ELResolverDecorator extends ELResolver { @Override public Iterator<FeatureDescriptor> getFeatureDescriptors(ELContext context, Object base) { return this.resolver.getFeatureDescriptors(context, base); } ELResolverDecorator(ELResolver resolver); @Override Object getValue(ELContext context, Object base, Object property); @Override Object invoke(ELContext context, Object base, Object method, Class<?>[] paramTypes, Object[] params); @Override Class<?> getType(ELContext context, Object base, Object property); @Override void setValue(ELContext context, Object base, Object property, Object value); @Override boolean isReadOnly(ELContext context, Object base, Object property); @Override Iterator<FeatureDescriptor> getFeatureDescriptors(ELContext context, Object base); @Override Class<?> getCommonPropertyType(ELContext context, Object base);  }### Answer:
@Test @SuppressWarnings("unchecked") public void shouldDecorateGetFeatureDescriptors() throws Exception { Iterator<FeatureDescriptor> featureDescriptor = mock(Iterator.class); given(this.decorated.getFeatureDescriptors(this.context, this.base)).willReturn(featureDescriptor); Iterator<FeatureDescriptor> actual = this.decorator.getFeatureDescriptors(this.context, this.base); assertThat(actual, is(featureDescriptor)); verify(this.decorated).getFeatureDescriptors(this.context, this.base); }