Index: oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/Template.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/Template.java (date 1488206290000) +++ oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/Template.java (date 1477585605000) @@ -28,6 +28,7 @@ import java.util.Arrays; import java.util.Collections; +import java.util.Iterator; import java.util.List; import javax.annotation.CheckForNull; @@ -135,15 +136,23 @@ templates.toArray(new PropertyTemplate[templates.size()]); Arrays.sort(properties); - long count = state.getChildNodeCount(2); - if (count == 0) { - childName = ZERO_CHILD_NODES; - } else if (count == 1) { - childName = state.getChildNodeNames().iterator().next(); - checkState(childName != null && !childName.equals(MANY_CHILD_NODES)); - } else { - childName = MANY_CHILD_NODES; - } + childName = childName(state); + } + + @Nullable + private static String childName(@Nonnull NodeState state) { + Iterator childNames = state.getChildNodeNames().iterator(); + if (!childNames.hasNext()) { + return ZERO_CHILD_NODES; + } + + String childName = childNames.next(); + if (childNames.hasNext()) { + return MANY_CHILD_NODES; + } + + checkState(childName != null && !childName.equals(MANY_CHILD_NODES)); + return childName; } @CheckForNull