// Inject fields
ReflectionUtils.doWithFields(target.getClass(), new ReflectionUtils.FieldCallback() {
public void doWith(Field f) throws IllegalArgumentException, IllegalAccessException {
ExchangeTarget et = f.getAnnotation(ExchangeTarget.class);
if (et != null) {
ReflectionUtils.setField(f, target, new DestinationImpl(et.uri(), BeanEndpoint.this));
}
if (f.getAnnotation(Resource.class) != null) {
if (ComponentContext.class.isAssignableFrom(f.getType())) {
ReflectionUtils.setField(f, target, ctx);
} else if (DeliveryChannel.class.isAssignableFrom(f.getType())) {