В Java у меня есть следующий метод:
public String normalizeList(List<String> keys) {
    // ...
}
Я хочу проверить, что keys:
-  Не сам 
null; и -  Не пуст (
size() == 0); и -  Не имеет элементов 
String, которыеnull; и -  Не существует элементов 
String, которые пусты ("") 
Это полезный метод, который будет использоваться в "обычном" стиле JAR (класс wil будет чем-то вроде DataUtils). Вот что у меня есть, но я считаю, что это неверно:
public String normalize(List<String> keys) {
    if(keys == null || keys.size() == 0 || keys.contains(null) || keys.contains(""))
        throw new IllegalArgumentException("Bad!");
    // Rest of method...
}
Я считаю, что последние 2 проверки для keys.contains(null) и keys.contains("") являются неправильными и, скорее всего, будут вызывать исключения во время выполнения.  Я знаю, что могу просто прокрутить список внутри оператора if и проверить там nulls/empties, но я ищу более элегантное решение, если оно существует.