Ejemplo n.º 1
0
 private static <R> Holder<R> findHolder(R referent) {
   if (referent == null) {
     // AbstractBuild.NONE
     return new DefaultHolderFactory.NoHolder<R>();
   }
   for (HolderFactory f : ExtensionList.lookup(HolderFactory.class)) {
     Holder<R> h = f.make(referent);
     if (h != null) {
       LOGGER.log(
           Level.FINE, "created build reference for {0} using {1}", new Object[] {referent, f});
       return h;
     }
   }
   return new DefaultHolderFactory().make(referent);
 }