@Override public <T> Iterable<? extends T> all(TypeToken<T> type, Predicate<? super T> predicate) { return registry.all(type, predicate); }
@Override public <T> boolean each( TypeToken<T> type, Predicate<? super T> predicate, Action<? super T> action) throws Exception { return registry.each(type, predicate, action); }
@Override public <O> Iterable<? extends O> getAll(TypeToken<O> type) { return registry.getAll(type); }
@Nullable @Override public <T> T first(TypeToken<T> type, Predicate<? super T> predicate) { return registry.first(type, predicate); }
@Override public <O> O get(TypeToken<O> type) throws NotInRegistryException { return registry.get(type); }
@Override @Nullable public <O> O maybeGet(TypeToken<O> type) { return registry.maybeGet(type); }
@Override @Nullable public <O> O maybeGet(Class<O> type) { return registry.maybeGet(type); }
@Override public <O> void remove(Class<O> type) throws NotInRegistryException { registry.remove(type); }
@Override public <O> void registerLazy(Class<O> type, Factory<? extends O> factory) { registry.registerLazy(type, factory); }
@Override public void register(Object object) { registry.register(object); }
@Override public <O> void register(Class<O> type, O object) { registry.register(type, object); }