aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/mammoth/internal/util/Iterables.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2017-02-19 18:16:52 +0000
committerMichael Williamson <mike@zwobble.org>2017-02-19 19:21:02 +0000
commitb31c5a4b4ccb835a583efa33cee178e122d564de (patch)
tree2dd68868d5cc1bbeaa5283798122b4cc4e5c2b2d /src/main/java/org/zwobble/mammoth/internal/util/Iterables.java
parent2e819654db985bf8a7e7ed76e0a43dc2f46eec8d (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.java14
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));
}