/** * {@inheritDoc} */ @Override public MetaBean findForId(final String beanInfoId) { MetaBean beanInfo = cache.findForId(beanInfoId); if (beanInfo != null) { return beanInfo; } try { beanInfo = builder.buildForId(beanInfoId); cache.cache(beanInfo); computeRelationships(beanInfo); return beanInfo; } catch (final RuntimeException e) { throw e; // do not wrap runtime exceptions } catch (final Exception e) { throw new IllegalArgumentException("error creating beanInfo with id: " + beanInfoId, e); } }