public Optional<T> load(final Class<? extends T> key) {
final AdapterBuilder<? extends T, D> builder = createBuilder(key);
- for(final Class<? extends D> reqDeleg : builder.getRequiredDelegates()) {
+ for (final Class<? extends D> reqDeleg : builder.getRequiredDelegates()) {
final D deleg = getDelegate(reqDeleg);
- if(deleg != null) {
- builder.addDelegate(reqDeleg,deleg);
+ if (deleg != null) {
+ builder.addDelegate(reqDeleg, deleg);
} else {
return Optional.absent();
}
return Optional.<T>of(builder.build());
}
- protected abstract @Nullable D getDelegate(Class<? extends D> reqDeleg);
-
- protected abstract @Nonnull AdapterBuilder<? extends T, D> createBuilder(Class<? extends T> key) throws IllegalArgumentException;
+ @Nullable
+ protected abstract D getDelegate(Class<? extends D> reqDeleg);
+ @Nonnull
+ protected abstract AdapterBuilder<? extends T, D> createBuilder(Class<? extends T> key);
}