diff --git a/abstract-document/src/main/java/com/iluwatar/abstractdocument/AbstractDocument.java b/abstract-document/src/main/java/com/iluwatar/abstractdocument/AbstractDocument.java index 36a946cc9..fccc23d83 100644 --- a/abstract-document/src/main/java/com/iluwatar/abstractdocument/AbstractDocument.java +++ b/abstract-document/src/main/java/com/iluwatar/abstractdocument/AbstractDocument.java @@ -54,17 +54,16 @@ public abstract class AbstractDocument implements Document { @Override public Stream children(String key, Function, T> constructor) { - Optional>> any = Stream.of(get(key)).filter(el -> el != null) + Optional>> any = Stream.of(get(key)).filter(Objects::nonNull) .map(el -> (List>) el).findAny(); - return any.isPresent() ? any.get().stream().map(constructor) : Stream.empty(); + return any.map(maps -> maps.stream().map(constructor)).orElseGet(Stream::empty); } @Override public String toString() { StringBuilder builder = new StringBuilder(); builder.append(getClass().getName()).append("["); - properties.entrySet() - .forEach(e -> builder.append("[").append(e.getKey()).append(" : ").append(e.getValue()).append("]")); + properties.forEach((key, value) -> builder.append("[").append(key).append(" : ").append(value).append("]")); builder.append("]"); return builder.toString(); }