/*************************************************************************** * * Postprocesses a newly created metadata item. * * @param holder the item to postprocess * **************************************************************************/ private <T> void fireNotifyItemCreated (@Nonnull final MetadataItemHolder<T> holder) { logger.fine("fireNotifyItemCreated(%s)", holder); final Class<T> itemClass = (Class<T>)holder.get().getClass(); for (final MetadataItemInterceptor<?> interceptor : interceptors) { try { if (interceptor.getItemClass().isAssignableFrom(itemClass)) { ((MetadataItemInterceptor<T>)interceptor).notifyItemCreated(this, holder); } } catch (Throwable t) { logger.throwing(CLASS, "fireNotifyItemCreated()", t); logger.warning("fireNotifyItemCreated() threw exception: %s", interceptor); } } } }