code: private <E> List<E> provide(TypeLiteral<Set<E>> type) {
          List<E> collection;
          try {
              Set<E> retrieved = injector.getInstance(Key.get(type));
              collection = retrieved.stream().filter(Objects::nonNull).collect(toList());
  
              if (collection.isEmpty()) {
                  throw new ConfigurationException(new ArrayList<>());
              }
  
          } catch (ConfigurationException ce) {
              log.info(() -> "There is no registered instance of the type: ");
              collection = new ArrayList<>();
          }
  
          return collection;
      }
docs: /*
  dagger provides an unmodifiable nullable set and this method convert this to modifiable list with non-null elements