try {
componentMonitor.invoking(container, PropertyApplicator.this, setter, componentInstance);
long startTime = System.currentTimeMillis();
setter.invoke(componentInstance, valueToInvoke);
componentMonitor.invoked(container,
PropertyApplicator.this,
setter, componentInstance, System.currentTimeMillis() - startTime);
} catch (final Exception e) {
componentMonitor.invocationFailed(setter, componentInstance, e);
throw new PicoCompositionException("Failed to set property " + propertyName + " to " + propertyValue + ": " + e.getMessage(), e);