Object Oriented Programming·Generics & Collections·FoundationWhy iteration is an interfaceA method takes an Iterable<String> rather than an ArrayList<String>.What does this gain?AIt iterates faster, since the interface avoids indexingBIt accepts any source of strings, including sets and lazy sequencesCIt prevents the caller from modifying the collectionDIt allows the method to be called with a null argument without any riskCheck answer