public Collection<NewDependencyInfo> collect(Collection<TypeElement> modules,Collection<TypeElement> memberInjectors,List<String> allErrors){
  SetMultimap<NewBindingKey,NewDependencyInfo> result=HashMultimap.create();
  modules=Utils.findAllModulesRecursively(modules);
  for (  TypeElement e : modules) {
    Collection<NewDependencyInfo> dependencies=collectFromModule(e);
    checkDependencies(result,dependencies);
    addDependencyInfo(result,dependencies);
  }
  memberInjectors=findAllMembersInjectorsRecursively(memberInjectors);
  Set<NewBindingKey> requiredKeys=getRequiredKeys(memberInjectors,result);
  addDependenciesForRequiredKeys(result,requiredKeys);
  allErrors.addAll(errors);
  return result.values();
}

public Collection < NewDependencyInfo > collect ( Collection < TypeElement > modules , Collection < TypeElement > memberInjectors , List < String > allErrors ) { SetMultimap < NewBindingKey , NewDependencyInfo > result = HashMultimap . create ( ) ; modules = Utils . findAllModulesRecursively ( modules ) ; for ( TypeElement e : modules ) { Collection < NewDependencyInfo > dependencies = collectFromModule ( e ) ; checkDependencies ( result , dependencies ) ; addDependencyInfo ( result , dependencies ) ; } memberInjectors = findAllMembersInjectorsRecursively ( memberInjectors ) ; Set < NewBindingKey > requiredKeys = getRequiredKeys ( memberInjectors , result ) ; addDependenciesForRequiredKeys ( result , requiredKeys ) ; allErrors . addAll ( errors ) ; return result . values ( ) ; }
returns all dagger dependencies for all the binding required by the give modules and injectedclasses .
