From 6d2dbdb864b5464664644c1bbc4b89bd38117f8b Mon Sep 17 00:00:00 2001 From: David Beaumont Date: Tue, 7 Jul 2020 18:35:36 +0200 Subject: [PATCH] Project import generated by Copybara. (#2495) PiperOrigin-RevId: 319993252 Co-authored-by: The libphonenumber Team --- .../metadata/table/CsvParser.java | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/metadata/src/main/java/com/google/i18n/phonenumbers/metadata/table/CsvParser.java b/metadata/src/main/java/com/google/i18n/phonenumbers/metadata/table/CsvParser.java index 1138cfe8f..bb8329c97 100644 --- a/metadata/src/main/java/com/google/i18n/phonenumbers/metadata/table/CsvParser.java +++ b/metadata/src/main/java/com/google/i18n/phonenumbers/metadata/table/CsvParser.java @@ -24,7 +24,6 @@ import static com.google.common.collect.ImmutableList.toImmutableList; import com.google.common.base.CharMatcher; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Streams; import java.util.ArrayList; import java.util.Iterator; import java.util.List; @@ -73,14 +72,19 @@ public final class CsvParser { } } else { ImmutableMap.Builder map = ImmutableMap.builder(); - int i = 0; - for (String v : Streams.iterating(row)) { - checkArgument(i < header.size(), - "too many columns (expected %s): %s", header.size(), map); - if (!v.isEmpty()) { - map.put(header.get(i++), v); + // Not a pure lambda due to the need to index columns. + row.forEach(new Consumer() { + private int i = 0; + + @Override + public void accept(String v) { + checkArgument(i < header.size(), + "too many columns (expected %s): %s", header.size(), map); + if (!v.isEmpty()) { + map.put(header.get(i++), v); + } } - } + }); handler.accept(map.build()); } }