diff options
| author | Michael Williamson <mike@zwobble.org> | 2017-02-19 18:16:52 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2017-02-19 19:21:02 +0000 |
| commit | b31c5a4b4ccb835a583efa33cee178e122d564de (patch) | |
| tree | 2dd68868d5cc1bbeaa5283798122b4cc4e5c2b2d /src/main/java/org/zwobble/mammoth/internal/util/Iterables.java | |
| parent | 2e819654db985bf8a7e7ed76e0a43dc2f46eec8d (diff) | |
Handle hyperlinks created with complex fields
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/internal/util/Iterables.java')
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/internal/util/Iterables.java | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/util/Iterables.java b/src/main/java/org/zwobble/mammoth/internal/util/Iterables.java index 88e906e..85fdaee 100644 --- a/src/main/java/org/zwobble/mammoth/internal/util/Iterables.java +++ b/src/main/java/org/zwobble/mammoth/internal/util/Iterables.java @@ -54,6 +54,20 @@ public class Iterables { } } + public static <T> Optional<T> tryGetLast(Iterable<? extends T> iterable) { + Iterator<? extends T> iterator = iterable.iterator(); + if (!iterator.hasNext()) { + return Optional.empty(); + } + + while (true) { + T last = iterator.next(); + if (!iterator.hasNext()) { + return Optional.of(last); + } + } + } + public static <T, R> Iterable<R> lazyFlatMap(Iterable<T> iterable, Function<T, Iterable<R>> function) { return lazyFlatten(lazyMap(iterable, function)); } |
