Зависимость от инъекции означает, что вам никогда не понадобится "новое" ключевое слово? Или разумно ли прямо создавать простые классы листа, например коллекции?
В приведенном ниже примере я добавляю компаратор, запрос и дао, но SortedSet напрямую создается:
public Iterable<Employee> getRecentHires()
{
SortedSet<Employee> entries = new TreeSet<Employee>(comparator);
entries.addAll(employeeDao.findAll(query));
return entries;
}