@Override public boolean isManaged(final Object ref) { for (final Context context : contexts) { if (context.isManaged(ref)) { return true; } } return false; }
@Override public <P> P getInstanceProperty(final Object instance, final String propertyName, final Class<P> type) { for (final Context context : contexts) { if (context.isManaged(instance)) { return context.getInstanceProperty(instance, propertyName, type); } } throw new RuntimeException("The given instance, " + instance + ", is not managed."); }