long startTime = System.currentTimeMillis();
method.invoke(o, null);
componentMonitor.invoked(method, o, System.currentTimeMillis() - startTime);
} catch (IllegalArgumentException e) {
componentMonitor.invocationFailed(method, o, e);
throw new PicoIntrospectionException("Can't call " + method.getName() + " on " + o, e);
} catch (IllegalAccessException e) {
componentMonitor.invocationFailed(method, o, e);
throw new PicoIntrospectionException("Can't call " + method.getName() + " on " + o, e);
} catch (InvocationTargetException e) {
componentMonitor.invocationFailed(method, o, e);
throw new PicoIntrospectionException("Failed when calling " + method.getName() + " on " + o, e.getTargetException());
}
}
} finally {
componentInstances.clear();
}