This is an automated email from the ASF dual-hosted git repository.

daim pushed a commit to branch OAK-11665
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git

commit eae4eea1750d77f2127c37ebbe4b8c28199b0bcc
Author: Rishabh Kumar <[email protected]>
AuthorDate: Wed Apr 23 23:38:32 2025 +0530

    OAK-11665 : removed usage of Guava's Iterators.singletonIterator with 
native java
---
 .../external/impl/AutoMembershipAwareTest.java               |  4 ++--
 .../authentication/external/impl/DefaultSyncHandlerTest.java |  7 ++++---
 .../impl/principal/AutoMembershipPrincipalsTest.java         |  6 +++---
 .../external/impl/principal/DynamicGroupUtilTest.java        |  3 ++-
 .../authorization/principalbased/impl/EntryIteratorTest.java |  4 +++-
 .../oak/plugins/blob/datastore/DataStoreBlobStore.java       |  2 +-
 .../jackrabbit/oak/plugins/identifier/IdentifierManager.java |  3 +--
 .../oak/plugins/index/aggregate/AggregationCursor.java       |  3 ++-
 .../oak/plugins/index/cursor/TraversingCursor.java           |  7 +++----
 .../index/property/strategy/ContentMirrorStoreStrategy.java  |  4 ++--
 .../jackrabbit/oak/security/principal/EveryoneFilter.java    |  3 ++-
 .../jackrabbit/oak/security/user/MembershipProvider.java     |  3 ++-
 .../jackrabbit/oak/security/user/MembershipWriter.java       |  5 +++--
 .../composite/CompositeAccessControlManagerTest.java         |  4 ++--
 .../oak/security/principal/EveryoneFilterTest.java           |  2 +-
 .../security/principal/PrincipalProviderImplErrorTest.java   |  4 +++-
 .../oak/security/principal/PrincipalProviderImplTest.java    |  8 ++++----
 .../oak/security/user/AbstractGroupPrincipalTest.java        |  3 ++-
 .../oak/security/user/AuthorizableIteratorTest.java          |  6 +++---
 .../oak/security/user/DynamicMembershipTrackerTest.java      |  4 ++--
 .../oak/security/user/query/GroupPredicateTest.java          |  4 +++-
 .../oak/security/user/query/ResultIteratorTest.java          | 10 +++++-----
 .../jackrabbit/oak/jcr/security/user/UserQueryTest.java      | 12 ++++++------
 .../indexer/document/flatfile/FlatFileStoreIterator.java     |  5 ++---
 .../org/apache/jackrabbit/oak/run/DataStoreCheckTest.java    |  5 +++--
 .../spi/security/user/action/ClearMembershipActionTest.java  |  5 +++--
 .../org/apache/jackrabbit/oak/plugins/document/ValueMap.java |  2 +-
 27 files changed, 70 insertions(+), 58 deletions(-)

diff --git 
a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/AutoMembershipAwareTest.java
 
b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/AutoMembershipAwareTest.java
index 2b8ddd410b..25f44d9ed7 100644
--- 
a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/AutoMembershipAwareTest.java
+++ 
b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/AutoMembershipAwareTest.java
@@ -100,7 +100,7 @@ public class AutoMembershipAwareTest extends 
AbstractExternalAuthTest {
         AutoMembershipConfig amc = mock(AutoMembershipConfig.class);
         when(amc.getName()).thenReturn(sh.getName());
         
when(amc.getAutoMembership(any(Authorizable.class))).thenReturn(groupIds);
-        when(amc.getAutoMembers(any(UserManager.class), 
any(Group.class))).thenReturn(Iterators.singletonIterator(authorizable));
+        when(amc.getAutoMembers(any(UserManager.class), 
any(Group.class))).thenReturn(Collections.singleton(authorizable).iterator());
 
         context.registerService(AutoMembershipConfig.class, amc, 
Collections.singletonMap(AutoMembershipConfig.PARAM_SYNC_HANDLER_NAME, 
sh.getName()));
 
@@ -110,7 +110,7 @@ public class AutoMembershipAwareTest extends 
AbstractExternalAuthTest {
         
         assertEquals(sh.getName(), config.getName());
         assertEquals(groupIds, config.getAutoMembership(authorizable));
-        
assertTrue(Iterators.elementsEqual(Iterators.singletonIterator(authorizable), 
config.getAutoMembers(userManager, gr)));
+        
assertTrue(Iterators.elementsEqual(Collections.singleton(authorizable).iterator(),
 config.getAutoMembers(userManager, gr)));
         
         // verify that DefaultSyncHandler was notified about the service
         verify(amc).getAutoMembership(authorizable);
diff --git 
a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/DefaultSyncHandlerTest.java
 
b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/DefaultSyncHandlerTest.java
index 0674a98661..5f8f65829b 100644
--- 
a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/DefaultSyncHandlerTest.java
+++ 
b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/DefaultSyncHandlerTest.java
@@ -43,6 +43,7 @@ import javax.jcr.RepositoryException;
 import javax.jcr.SimpleCredentials;
 import javax.jcr.Value;
 import java.util.Calendar;
+import java.util.Collections;
 import java.util.Iterator;
 import java.util.Map;
 import java.util.Set;
@@ -277,7 +278,7 @@ public class DefaultSyncHandlerTest extends 
ExternalLoginTestBase {
 
     @Test
     public void testListIdentitiesIgnoresMissingExternalIdRef() throws 
Exception {
-        Iterator<Authorizable> it = Iterators.singletonIterator(getTestUser());
+        Iterator<Authorizable> it = Collections.singleton(((Authorizable) 
getTestUser())).iterator();
 
         UserManager um = mock(UserManager.class);
         when(um.findAuthorizables(DefaultSyncContext.REP_EXTERNAL_ID, 
null)).thenReturn(it);
@@ -288,7 +289,7 @@ public class DefaultSyncHandlerTest extends 
ExternalLoginTestBase {
 
     @Test
     public void testListIdentitiesIgnoresNull() throws Exception {
-        Iterator<Authorizable> it = Iterators.singletonIterator(null);
+        Iterator<Authorizable> it = Collections.singleton((Authorizable) 
null).iterator();
 
         UserManager um = mock(UserManager.class);
         when(um.findAuthorizables(DefaultSyncContext.REP_EXTERNAL_ID, 
null)).thenReturn(it);
@@ -300,7 +301,7 @@ public class DefaultSyncHandlerTest extends 
ExternalLoginTestBase {
     @Test
     public void testListIdentitiesWithRepositoryException() throws Exception {
         Authorizable a = 
when(mock(Authorizable.class).getProperty(REP_EXTERNAL_ID)).thenThrow(new 
RepositoryException()).getMock();
-        Iterator<Authorizable> it = Iterators.singletonIterator(a);
+        Iterator<Authorizable> it = Collections.singleton(a).iterator();
 
         UserManager um = mock(UserManager.class);
         when(um.findAuthorizables(REP_EXTERNAL_ID, null)).thenReturn(it);
diff --git 
a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/AutoMembershipPrincipalsTest.java
 
b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/AutoMembershipPrincipalsTest.java
index 6da36512bc..c42b6920e5 100644
--- 
a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/AutoMembershipPrincipalsTest.java
+++ 
b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/AutoMembershipPrincipalsTest.java
@@ -65,7 +65,7 @@ public class AutoMembershipPrincipalsTest extends 
AbstractAutoMembershipTest {
         
         
when(amConfig.getAutoMembership(authorizable)).thenReturn(Set.of(automembershipGroup3.getID()));
         when(amConfig.getAutoMembers(any(UserManager.class), 
any(Group.class))).thenReturn(Collections.emptyIterator());
-        when(amConfig.getAutoMembers(userManager, 
automembershipGroup3)).thenReturn(Iterators.singletonIterator(authorizable));
+        when(amConfig.getAutoMembers(userManager, 
automembershipGroup3)).thenReturn(Collections.singleton(authorizable).iterator());
     }
 
     @Override
@@ -234,7 +234,7 @@ public class AutoMembershipPrincipalsTest extends 
AbstractAutoMembershipTest {
 
         Group gr = mock(Group.class);
         when(gr.isGroup()).thenReturn(true);
-        when(gr.memberOf()).thenReturn(Iterators.singletonIterator(inherited));
+        
when(gr.memberOf()).thenReturn(Collections.singleton(inherited).iterator());
         
when(um.getAuthorizable(automembershipGroup1.getPrincipal())).thenReturn(gr);
 
         // retrieve from cache
@@ -373,6 +373,6 @@ public class AutoMembershipPrincipalsTest extends 
AbstractAutoMembershipTest {
         
assertFalse(amp.getMembersFromAutoMembershipConfig(automembershipGroup1).hasNext());
         
assertFalse(amp.getMembersFromAutoMembershipConfig(automembershipGroup2).hasNext());
         
-        
assertTrue(Iterators.elementsEqual(Iterators.singletonIterator(authorizable), 
amp.getMembersFromAutoMembershipConfig(automembershipGroup3)));
+        
assertTrue(Iterators.elementsEqual(Collections.singleton(authorizable).iterator(),
 amp.getMembersFromAutoMembershipConfig(automembershipGroup3)));
     }
 }
\ No newline at end of file
diff --git 
a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/DynamicGroupUtilTest.java
 
b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/DynamicGroupUtilTest.java
index 2e38f335f0..def1d784dc 100644
--- 
a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/DynamicGroupUtilTest.java
+++ 
b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/DynamicGroupUtilTest.java
@@ -35,6 +35,7 @@ import javax.jcr.RepositoryException;
 import javax.jcr.Value;
 
 import java.security.Principal;
+import java.util.Collections;
 
 import static 
org.apache.jackrabbit.oak.spi.security.authentication.external.impl.ExternalIdentityConstants.REP_EXTERNAL_ID;
 import static org.junit.Assert.assertEquals;
@@ -130,7 +131,7 @@ public class DynamicGroupUtilTest extends 
AbstractSecurityTest {
 
         Group group = mock(Group.class);
         when(group.isGroup()).thenReturn(true);
-        when(group.memberOf()).thenReturn(Iterators.singletonIterator(member));
+        
when(group.memberOf()).thenReturn(Collections.singleton(member).iterator());
 
         UserManager um = mock(UserManager.class);
         when(um.getAuthorizable(any(Principal.class))).thenReturn(group);
diff --git 
a/oak-authorization-principalbased/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/EntryIteratorTest.java
 
b/oak-authorization-principalbased/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/EntryIteratorTest.java
index 7747de1c2f..e2c7377a87 100644
--- 
a/oak-authorization-principalbased/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/EntryIteratorTest.java
+++ 
b/oak-authorization-principalbased/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/EntryIteratorTest.java
@@ -19,6 +19,8 @@ package 
org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl
 import org.apache.jackrabbit.guava.common.collect.Iterators;
 import org.junit.Test;
 
+import java.util.Collections;
+
 import static org.junit.Assert.assertFalse;
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.mock;
@@ -28,7 +30,7 @@ import static org.mockito.Mockito.when;
 
 public class EntryIteratorTest {
 
-    private final EntryCache cache = 
when(mock(EntryCache.class).getEntries(anyString())).thenReturn(Iterators.singletonIterator(mock(PermissionEntry.class))).getMock();
+    private final EntryCache cache = 
when(mock(EntryCache.class).getEntries(anyString())).thenReturn(Collections.singleton(mock(PermissionEntry.class)).iterator()).getMock();
 
     @Test
     public void testIterationStopsAtRootPath() {
diff --git 
a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java
 
b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java
index 5b981bfa17..8a7f820f29 100644
--- 
a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java
+++ 
b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java
@@ -558,7 +558,7 @@ public class DataStoreBlobStore
     @Override
     public Iterator<String> resolveChunks(String blobId) throws IOException {
         if (!InMemoryDataRecord.isInstance(blobId)) {
-            return Iterators.singletonIterator(blobId);
+            return Collections.singleton(blobId).iterator();
         }
         return Collections.emptyIterator();
     }
diff --git 
a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/identifier/IdentifierManager.java
 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/identifier/IdentifierManager.java
index 858c51c03b..4383594219 100644
--- 
a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/identifier/IdentifierManager.java
+++ 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/identifier/IdentifierManager.java
@@ -53,7 +53,6 @@ import org.slf4j.LoggerFactory;
 
 import static 
org.apache.jackrabbit.oak.commons.conditions.Validate.checkArgument;
 import static org.apache.jackrabbit.guava.common.collect.Iterators.filter;
-import static 
org.apache.jackrabbit.guava.common.collect.Iterators.singletonIterator;
 import static org.apache.jackrabbit.guava.common.collect.Iterators.transform;
 import static org.apache.jackrabbit.oak.api.QueryEngine.NO_MAPPINGS;
 
@@ -277,7 +276,7 @@ public class IdentifierManager {
                             } else {
                                 // for a fixed property name, we don't need to 
look for it, but just assume that
                                 // the search found the correct one
-                                return 
singletonIterator(PathUtils.concat(rowPath, propertyName));
+                                return 
Collections.singleton(PathUtils.concat(rowPath, propertyName)).iterator();
                             }
                     }
                     return Collections.emptyIterator();
diff --git 
a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/aggregate/AggregationCursor.java
 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/aggregate/AggregationCursor.java
index 2900f77851..2f50f995f2 100644
--- 
a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/aggregate/AggregationCursor.java
+++ 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/aggregate/AggregationCursor.java
@@ -16,6 +16,7 @@
  */
 package org.apache.jackrabbit.oak.plugins.index.aggregate;
 
+import java.util.Collections;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.NoSuchElementException;
@@ -91,7 +92,7 @@ class AggregationCursor extends AbstractCursor {
             if (!currentRow.isVirtualRow()) {
                 String path = currentRow.getPath();
                 aggregates = Iterators.filter(IteratorUtils.chainedIterator(
-                        Iterators.singletonIterator(path),
+                        Collections.singleton(path).iterator(),
                         aggregator.getParents(rootState, path)),
                         x -> !seenPaths.contains(x));
             }
diff --git 
a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/cursor/TraversingCursor.java
 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/cursor/TraversingCursor.java
index 59b1c6d3e7..a0bca6b3a5 100644
--- 
a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/cursor/TraversingCursor.java
+++ 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/cursor/TraversingCursor.java
@@ -19,6 +19,7 @@ package org.apache.jackrabbit.oak.plugins.index.cursor;
 import static org.apache.jackrabbit.oak.spi.query.QueryConstants.REP_FACET;
 
 import java.util.ArrayDeque;
+import java.util.Collections;
 import java.util.Deque;
 import java.util.Iterator;
 
@@ -107,14 +108,12 @@ class TraversingCursor extends AbstractCursor {
         case NO_RESTRICTION:
         case EXACT:
         case ALL_CHILDREN:
-            nodeIterators.add(Iterators.singletonIterator(
-                    new MemoryChildNodeEntry(currentPath, node)));
+            nodeIterators.add(Collections.singleton(new 
MemoryChildNodeEntry(currentPath, node)).iterator());
             parentPath = "";
             break;
         case PARENT:
             if (parent != null) {
-                nodeIterators.add(Iterators.singletonIterator(
-                        new MemoryChildNodeEntry(parentPath, parent)));
+                nodeIterators.add(Collections.singleton(new 
MemoryChildNodeEntry(parentPath, parent)).iterator());
                 parentPath = "";
             }
             break;
diff --git 
a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/strategy/ContentMirrorStoreStrategy.java
 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/strategy/ContentMirrorStoreStrategy.java
index 2ddb1202f5..b968dd1936 100644
--- 
a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/strategy/ContentMirrorStoreStrategy.java
+++ 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/strategy/ContentMirrorStoreStrategy.java
@@ -21,6 +21,7 @@ import static 
org.apache.jackrabbit.oak.plugins.index.IndexConstants.INDEX_CONTE
 import static 
org.apache.jackrabbit.oak.plugins.index.IndexConstants.KEY_COUNT_PROPERTY_NAME;
 
 import java.util.ArrayDeque;
+import java.util.Collections;
 import java.util.Deque;
 import java.util.HashSet;
 import java.util.Iterator;
@@ -176,8 +177,7 @@ public class ContentMirrorStoreStrategy implements 
IndexStoreStrategy {
                         NodeState property = index.getChildNode(p);
                         if (property.exists()) {
                             // we have an entry for this value, so use it
-                            it.enqueue(Iterators.singletonIterator(
-                                    new MemoryChildNodeEntry("", property)));
+                            it.enqueue(Collections.singleton(new 
MemoryChildNodeEntry("", property)).iterator());
                         }
                     }
                 }
diff --git 
a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/principal/EveryoneFilter.java
 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/principal/EveryoneFilter.java
index e2e5c0bdfe..b59b5c9531 100644
--- 
a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/principal/EveryoneFilter.java
+++ 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/principal/EveryoneFilter.java
@@ -24,6 +24,7 @@ import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
 import java.security.Principal;
+import java.util.Collections;
 import java.util.Iterator;
 import java.util.function.Predicate;
 
@@ -48,7 +49,7 @@ public final class EveryoneFilter {
     public static Iterator<Principal> filter(@NotNull Iterator<Principal> 
resultPrincipals, @Nullable String nameHint, int searchType, long offset, long 
limit) {
         boolean noRange = offset == 0 && limit == Long.MAX_VALUE;
         if (noRange && matchesEveryone(nameHint, searchType)) {
-            Iterator<Principal> principals = 
IteratorUtils.chainedIterator(resultPrincipals, 
Iterators.singletonIterator(EveryonePrincipal.getInstance()));
+            Iterator<Principal> principals = 
IteratorUtils.chainedIterator(resultPrincipals, 
Collections.singleton(EveryonePrincipal.getInstance()).iterator());
             return Iterators.filter(principals, new EveryonePredicate()::test);
         } else {
             return resultPrincipals;
diff --git 
a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/MembershipProvider.java
 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/MembershipProvider.java
index aa9c856162..eeaf6e97f2 100644
--- 
a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/MembershipProvider.java
+++ 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/MembershipProvider.java
@@ -17,6 +17,7 @@
 package org.apache.jackrabbit.oak.security.user;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
@@ -355,7 +356,7 @@ class MembershipProvider extends AuthorizableBaseProvider {
 
         private MemberReferenceIterator(@NotNull Tree groupTree) {
             this.trees = IteratorUtils.chainedIterator(
-                    Iterators.singletonIterator(groupTree),
+                    Collections.singleton(groupTree).iterator(),
                     
groupTree.getChild(REP_MEMBERS_LIST).getChildren().iterator()
             );
         }
diff --git 
a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/MembershipWriter.java
 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/MembershipWriter.java
index 5d33e2bc3f..232c051ced 100644
--- 
a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/MembershipWriter.java
+++ 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/MembershipWriter.java
@@ -16,6 +16,7 @@
  */
 package org.apache.jackrabbit.oak.security.user;
 
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
@@ -76,7 +77,7 @@ public class MembershipWriter {
         // check all possible rep:members properties for the new member and 
also find the one with the least values
         Tree membersList = groupTree.getChild(UserConstants.REP_MEMBERS_LIST);
         Iterator<Tree> trees = IteratorUtils.chainedIterator(
-                Iterators.singletonIterator(groupTree),
+                Collections.singleton(groupTree).iterator(),
                 membersList.getChildren().iterator()
         );
 
@@ -205,7 +206,7 @@ public class MembershipWriter {
     Set<String> removeMembers(@NotNull Tree groupTree, @NotNull Map<String, 
String> memberIds) {
         Tree membersList = groupTree.getChild(UserConstants.REP_MEMBERS_LIST);
         Iterator<Tree> trees = IteratorUtils.chainedIterator(
-                Iterators.singletonIterator(groupTree),
+                Collections.singleton(groupTree).iterator(),
                 membersList.getChildren().iterator()
         );
         while (trees.hasNext() && !memberIds.isEmpty()) {
diff --git 
a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAccessControlManagerTest.java
 
b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAccessControlManagerTest.java
index 127ce0cea5..92f2905393 100644
--- 
a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAccessControlManagerTest.java
+++ 
b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAccessControlManagerTest.java
@@ -416,12 +416,12 @@ public class CompositeAccessControlManagerTest extends 
AbstractSecurityTest {
     public void testEffectivePoliciesByPrincipalAndPaths() throws Exception {
         JackrabbitAccessControlPolicy policy = 
mock(JackrabbitAccessControlPolicy.class);
         JackrabbitAccessControlManager mgr = 
mock(JackrabbitAccessControlManager.class, 
withSettings().extraInterfaces(PolicyOwner.class));
-        when(mgr.getEffectivePolicies(any(Set.class), 
anyString())).thenReturn(Iterators.singletonIterator(policy));
+        when(mgr.getEffectivePolicies(any(Set.class), 
anyString())).thenReturn(Collections.singleton(policy).iterator());
 
         Set<Principal> principalSet = Set.of(EveryonePrincipal.getInstance());
         CompositeAccessControlManager composite = createComposite(mgr);
         
-        
assertTrue(Iterators.elementsEqual(Iterators.singletonIterator(policy), 
composite.getEffectivePolicies(principalSet, ROOT_PATH)));
+        
assertTrue(Iterators.elementsEqual(Collections.singleton(policy).iterator(), 
composite.getEffectivePolicies(principalSet, ROOT_PATH)));
 
         verify(mgr, times(0)).getEffectivePolicies(principalSet);
         verify(mgr, times(1)).getEffectivePolicies(principalSet, ROOT_PATH);
diff --git 
a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/EveryoneFilterTest.java
 
b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/EveryoneFilterTest.java
index 50eb018bff..a6eacc39a7 100644
--- 
a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/EveryoneFilterTest.java
+++ 
b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/EveryoneFilterTest.java
@@ -68,7 +68,7 @@ public class EveryoneFilterTest {
 
     @Test
     public void testMissingEveryoneNoRange() {
-        Iterator<Principal> principals = 
Iterators.singletonIterator(anotherPrincipal);
+        Iterator<Principal> principals = 
Collections.singleton(anotherPrincipal).iterator();
         Iterator<Principal> result = EveryoneFilter.filter(principals, 
EveryonePrincipal.NAME, searchType, 0, Long.MAX_VALUE);
 
         int expectedSize = adjustExpectedSize(searchType, 1);
diff --git 
a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/PrincipalProviderImplErrorTest.java
 
b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/PrincipalProviderImplErrorTest.java
index 20ae9103ac..0d818c1222 100644
--- 
a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/PrincipalProviderImplErrorTest.java
+++ 
b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/PrincipalProviderImplErrorTest.java
@@ -16,6 +16,7 @@
  */
 package org.apache.jackrabbit.oak.security.principal;
 
+import org.apache.jackrabbit.api.security.user.Authorizable;
 import org.apache.jackrabbit.guava.common.collect.Iterators;
 import org.apache.jackrabbit.api.security.principal.PrincipalManager;
 import org.apache.jackrabbit.api.security.user.Query;
@@ -35,6 +36,7 @@ import org.mockito.stubbing.Answer;
 import javax.jcr.RepositoryException;
 
 import java.security.Principal;
+import java.util.Collections;
 import java.util.Iterator;
 import java.util.Set;
 
@@ -167,7 +169,7 @@ public class PrincipalProviderImplErrorTest extends 
AbstractSecurityTest {
         Principal p = testUser.getPrincipal();
 
         User userMock = when(mock(User.class).getPrincipal()).thenThrow(new 
RepositoryException()).getMock();
-        UserManager um = 
when(mock(UserManager.class).findAuthorizables(any(Query.class))).thenReturn(Iterators.singletonIterator(userMock)).getMock();
+        UserManager um = 
when(mock(UserManager.class).findAuthorizables(any(Query.class))).thenReturn(Collections.singleton(((Authorizable)
 userMock)).iterator()).getMock();
 
         Iterator it = 
createPrincipalProvider(um).findPrincipals(PrincipalManager.SEARCH_TYPE_NOT_GROUP);
         assertFalse(it.hasNext());
diff --git 
a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/PrincipalProviderImplTest.java
 
b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/PrincipalProviderImplTest.java
index 54cba9ac03..0ca4abda17 100644
--- 
a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/PrincipalProviderImplTest.java
+++ 
b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/PrincipalProviderImplTest.java
@@ -100,7 +100,7 @@ public class PrincipalProviderImplTest extends 
AbstractPrincipalProviderTest {
     public void testGetGroupMembershipNonGroupPrincipal() throws Exception {
         // Group.getPrincipal doesn't return a GroupPrincipal
         Group gr = when(mock(Group.class).getPrincipal()).thenReturn(new 
PrincipalImpl("group")).getMock();
-        Authorizable mockAuthorizable = 
when(mock(User.class).memberOf()).thenReturn(Iterators.singletonIterator(gr)).getMock();
+        Authorizable mockAuthorizable = 
when(mock(User.class).memberOf()).thenReturn(Collections.singleton(gr).iterator()).getMock();
         UserManager umMock = 
when(mock(UserManager.class).getAuthorizable(any(Principal.class))).thenReturn(mockAuthorizable).getMock();
 
         Set<Principal> membership = 
createPrincipalProvider(umMock).getMembershipPrincipals(new 
PrincipalImpl("userPrincipal"));
@@ -128,19 +128,19 @@ public class PrincipalProviderImplTest extends 
AbstractPrincipalProviderTest {
         assertFalse(result.hasNext());
 
         result = 
createPrincipalProvider(umMock).findPrincipals(PrincipalManager.SEARCH_TYPE_GROUP);
-        
assertTrue(Iterators.elementsEqual(Iterators.singletonIterator(EveryonePrincipal.getInstance()),
 result));
+        
assertTrue(Iterators.elementsEqual(Collections.singleton(EveryonePrincipal.getInstance()).iterator(),
 result));
     }
 
     @Test
     public void testFindWithUnexpectedNullPrincipal() throws Exception {
         Authorizable userMock = 
when(mock(Authorizable.class).getPrincipal()).thenReturn(null).getMock();
         UserManager umMock = mock(UserManager.class);
-        
when(umMock.findAuthorizables(any(Query.class))).thenReturn(Iterators.singletonIterator(userMock));
+        
when(umMock.findAuthorizables(any(Query.class))).thenReturn(Collections.singleton(userMock).iterator());
 
         Iterator<? extends Principal> result = 
createPrincipalProvider(umMock).findPrincipals(PrincipalManager.SEARCH_TYPE_NOT_GROUP);
         assertFalse(result.hasNext());
 
         result = 
createPrincipalProvider(umMock).findPrincipals(PrincipalManager.SEARCH_TYPE_GROUP);
-        
assertTrue(Iterators.elementsEqual(Iterators.singletonIterator(EveryonePrincipal.getInstance()),
 result));
+        
assertTrue(Iterators.elementsEqual(Collections.singleton(EveryonePrincipal.getInstance()).iterator(),
 result));
     }
 }
\ No newline at end of file
diff --git 
a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/AbstractGroupPrincipalTest.java
 
b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/AbstractGroupPrincipalTest.java
index b07ed1eee0..f0a6c62c2c 100644
--- 
a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/AbstractGroupPrincipalTest.java
+++ 
b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/AbstractGroupPrincipalTest.java
@@ -30,6 +30,7 @@ import org.mockito.internal.stubbing.answers.ThrowsException;
 import javax.jcr.RepositoryException;
 import java.security.Principal;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.Enumeration;
 import java.util.Iterator;
 import java.util.List;
@@ -144,7 +145,7 @@ public class AbstractGroupPrincipalTest extends 
AbstractSecurityTest {
     public void testMembersHandlesFailingPrincipalAccess() throws Exception {
         Authorizable a = 
when(mock(Authorizable.class).getPrincipal()).thenThrow(new 
RepositoryException()).getMock();
         AbstractGroupPrincipal agp = mock(AbstractGroupPrincipal.class);
-        when(agp.getMembers()).thenReturn(Iterators.singletonIterator(a));
+        when(agp.getMembers()).thenReturn(Collections.singleton(a).iterator());
         when(agp.members()).thenCallRealMethod();
 
         Enumeration<? extends Principal> members = agp.members();
diff --git 
a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/AuthorizableIteratorTest.java
 
b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/AuthorizableIteratorTest.java
index 67e8a213c2..237bdccfc5 100644
--- 
a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/AuthorizableIteratorTest.java
+++ 
b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/AuthorizableIteratorTest.java
@@ -50,7 +50,7 @@ public class AuthorizableIteratorTest extends 
AbstractSecurityTest {
     public void before() throws Exception {
         super.before();
 
-        userTreeIterator = 
Iterators.singletonIterator(root.getTree(getNamePathMapper().getOakPath(getTestUser().getPath())));
+        userTreeIterator = 
Collections.singleton(root.getTree(getNamePathMapper().getOakPath(getTestUser().getPath()))).iterator();
     }
 
     @Test
@@ -94,7 +94,7 @@ public class AuthorizableIteratorTest extends 
AbstractSecurityTest {
 
     @Test
     public void testInvalidPath() {
-        AuthorizableIterator it = 
AuthorizableIterator.create(Iterators.singletonIterator(root.getTree(PathUtils.ROOT_PATH)),
 (UserManagerImpl) getUserManager(root), AuthorizableType.AUTHORIZABLE);
+        AuthorizableIterator it = 
AuthorizableIterator.create(Collections.singleton(root.getTree(PathUtils.ROOT_PATH)).iterator(),
 (UserManagerImpl) getUserManager(root), AuthorizableType.AUTHORIZABLE);
         assertFalse(it.hasNext());
     }
     
@@ -106,7 +106,7 @@ public class AuthorizableIteratorTest extends 
AbstractSecurityTest {
         
         // duplications are determined base on authorizableID
         Authorizable a = 
when(mock(Authorizable.class).getID()).thenReturn(getTestUser().getID()).getMock();
-        assertEquals(1, IteratorUtils.size(AuthorizableIterator.create(true, 
l.iterator(), Iterators.singletonIterator(a))));
+        assertEquals(1, IteratorUtils.size(AuthorizableIterator.create(true, 
l.iterator(), Collections.singleton(a).iterator())));
     }
 
     @Test
diff --git 
a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/DynamicMembershipTrackerTest.java
 
b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/DynamicMembershipTrackerTest.java
index 52ada11be7..f898480930 100644
--- 
a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/DynamicMembershipTrackerTest.java
+++ 
b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/DynamicMembershipTrackerTest.java
@@ -101,12 +101,12 @@ public class DynamicMembershipTrackerTest extends 
AbstractSecurityTest {
         User testUser = getTestUser();
 
         DynamicMembershipProvider dmp = mock(DynamicMembershipProvider.class);
-        when(dmp.getMembership(eq(a), 
anyBoolean())).thenReturn(Iterators.singletonIterator(gr));
+        when(dmp.getMembership(eq(a), 
anyBoolean())).thenReturn(Collections.singleton(gr).iterator());
         when(dmp.getMembership(eq(testUser), 
anyBoolean())).thenReturn(Collections.emptyIterator());
         
         when(dmp.isMember(eq(gr), eq(a), anyBoolean())).thenReturn(true);
         when(dmp.coversAllMembers(gr)).thenReturn(true);
-        when(dmp.getMembers(eq(gr), 
anyBoolean())).thenReturn(Iterators.singletonIterator(a));
+        when(dmp.getMembers(eq(gr), 
anyBoolean())).thenReturn(Collections.singleton(a).iterator());
         
         DynamicMembershipService dms = (root, userManager, namePathMapper) -> 
dmp;
         
registrations.add(context.bundleContext().registerService(DynamicMembershipService.class.getName(),
 dms, MapUtil.toDictionary(Collections.emptyMap())));
diff --git 
a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/query/GroupPredicateTest.java
 
b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/query/GroupPredicateTest.java
index 01b67f08e0..c5d04b9141 100644
--- 
a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/query/GroupPredicateTest.java
+++ 
b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/query/GroupPredicateTest.java
@@ -26,6 +26,8 @@ import org.apache.jackrabbit.api.security.user.UserManager;
 import org.apache.jackrabbit.oak.AbstractSecurityTest;
 import org.junit.Test;
 
+import java.util.Collections;
+
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
@@ -140,7 +142,7 @@ public class GroupPredicateTest extends 
AbstractSecurityTest {
     @Test
     public void testGetMemberIdFails() throws Exception {
         Authorizable member = 
when(mock(Authorizable.class).getID()).thenThrow(new 
RepositoryException()).getMock();
-        Group g = 
when(mock(Group.class).getDeclaredMembers()).thenReturn(Iterators.singletonIterator(member)).getMock();
+        Group g = 
when(mock(Group.class).getDeclaredMembers()).thenReturn(Collections.singleton(member).iterator()).getMock();
         when(g.isGroup()).thenReturn(true);
         UserManager uMgr = 
when(mock(UserManager.class).getAuthorizable("g")).thenReturn(g).getMock();
         Authorizable a = 
when(mock(Authorizable.class).getID()).thenReturn("a").getMock();
diff --git 
a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/query/ResultIteratorTest.java
 
b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/query/ResultIteratorTest.java
index 4fa80f0354..655448ad42 100644
--- 
a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/query/ResultIteratorTest.java
+++ 
b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/query/ResultIteratorTest.java
@@ -44,17 +44,17 @@ public class ResultIteratorTest {
 
     @Test
     public void testCreateMaxZero() {
-        assertFalse(ResultIterator.create(ResultIterator.OFFSET_NONE, 0, 
Iterators.singletonIterator("str")).hasNext());
+        assertFalse(ResultIterator.create(ResultIterator.OFFSET_NONE, 0, 
Collections.singleton("str").iterator()).hasNext());
     }
 
     @Test
     public void testCreateOffsetEqualsSize() {
-        assertFalse(ResultIterator.create(1, ResultIterator.MAX_ALL,  
Iterators.singletonIterator("str")).hasNext());
+        assertFalse(ResultIterator.create(1, ResultIterator.MAX_ALL,  
Collections.singleton("str").iterator()).hasNext());
     }
 
     @Test
     public void testCreateOffsetGtSize() {
-        assertFalse(ResultIterator.create(2, ResultIterator.MAX_ALL,  
Iterators.singletonIterator("str")).hasNext());
+        assertFalse(ResultIterator.create(2, ResultIterator.MAX_ALL,  
Collections.singleton("str").iterator()).hasNext());
     }
 
     @Test
@@ -80,7 +80,7 @@ public class ResultIteratorTest {
 
     @Test(expected = NoSuchElementException.class)
     public void testNextNoElements() {
-        Iterator<String> it = ResultIterator.create(1, ResultIterator.MAX_ALL, 
 Iterators.singletonIterator("str"));
+        Iterator<String> it = ResultIterator.create(1, ResultIterator.MAX_ALL, 
 Collections.singleton("str").iterator());
         it.next();
     }
 
@@ -92,7 +92,7 @@ public class ResultIteratorTest {
 
     @Test(expected = UnsupportedOperationException.class)
     public void testRemove() {
-        Iterator<String> it = 
ResultIterator.create(ResultIterator.OFFSET_NONE, 1, 
Iterators.singletonIterator("value"));
+        Iterator<String> it = 
ResultIterator.create(ResultIterator.OFFSET_NONE, 1, 
Collections.singleton("value").iterator());
         it.remove();
     }
 }
\ No newline at end of file
diff --git 
a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/user/UserQueryTest.java
 
b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/user/UserQueryTest.java
index 7cf06c8f02..da82c39dcf 100644
--- 
a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/user/UserQueryTest.java
+++ 
b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/user/UserQueryTest.java
@@ -533,7 +533,7 @@ public class UserQueryTest extends AbstractUserTest {
             }
         });
 
-        Iterator<User> expected = Iterators.singletonIterator(goldenToad);
+        Iterator<User> expected = Collections.singleton(goldenToad).iterator();
         assertTrue(result.hasNext());
         assertSameElements(result, expected);
     }
@@ -547,7 +547,7 @@ public class UserQueryTest extends AbstractUserTest {
             }
         });
 
-        Iterator<User> expected = Iterators.singletonIterator(goldenToad);
+        Iterator<User> expected = Collections.singleton(goldenToad).iterator();
         assertTrue(result.hasNext());
         assertSameElements(result, expected);
     }
@@ -560,7 +560,7 @@ public class UserQueryTest extends AbstractUserTest {
             }
         });
 
-        Iterator<User> expected = Iterators.singletonIterator(kangaroo);
+        Iterator<User> expected = Collections.singleton(kangaroo).iterator();
         assertTrue(result.hasNext());
         assertSameElements(result, expected);
     }
@@ -574,7 +574,7 @@ public class UserQueryTest extends AbstractUserTest {
             }
         });
 
-        Iterator<User> expected = Iterators.singletonIterator(kangaroo);
+        Iterator<User> expected = Collections.singleton(kangaroo).iterator();
         assertTrue(result.hasNext());
         assertSameElements(result, expected);
     }
@@ -642,7 +642,7 @@ public class UserQueryTest extends AbstractUserTest {
             }
         });
 
-        Iterator<User> expected = Iterators.singletonIterator(elephant);
+        Iterator<User> expected = Collections.singleton(elephant).iterator();
         assertTrue(result.hasNext());
         assertSameElements(expected, result);
     }
@@ -656,7 +656,7 @@ public class UserQueryTest extends AbstractUserTest {
             }
         });
 
-        Iterator<User> expected = Iterators.singletonIterator(elephant);
+        Iterator<User> expected = Collections.singleton(elephant).iterator();
         assertTrue(result.hasNext());
         assertSameElements(expected, result);
     }
diff --git 
a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileStoreIterator.java
 
b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileStoreIterator.java
index 96eb9c4f62..40c593fbdf 100644
--- 
a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileStoreIterator.java
+++ 
b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileStoreIterator.java
@@ -34,11 +34,10 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.io.Closeable;
+import java.util.Collections;
 import java.util.Iterator;
 import java.util.Set;
 
-import static 
org.apache.jackrabbit.guava.common.collect.Iterators.singletonIterator;
-
 class FlatFileStoreIterator extends AbstractIterator<NodeStateEntry> 
implements Iterator<NodeStateEntry>, Closeable {
     private static final Logger LOG = 
LoggerFactory.getLogger(FlatFileStoreIterator.class);
 
@@ -149,7 +148,7 @@ class FlatFileStoreIterator extends 
AbstractIterator<NodeStateEntry> implements
     }
 
     private Iterable<NodeStateEntry> getEntries() {
-        return () -> IteratorUtils.chainedIterator(singletonIterator(current), 
queueIterator());
+        return () -> 
IteratorUtils.chainedIterator(Collections.singleton(current).iterator(), 
queueIterator());
     }
 
     private Iterator<NodeStateEntry> queueIterator() {
diff --git 
a/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCheckTest.java 
b/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCheckTest.java
index 6b45b3dedd..4d8d109b4a 100644
--- 
a/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCheckTest.java
+++ 
b/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCheckTest.java
@@ -30,6 +30,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.PrintStream;
 import java.nio.charset.StandardCharsets;
+import java.util.Collections;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -256,7 +257,7 @@ public class DataStoreCheckTest {
         assertEquals(2, count);
 
         // artificially put the deleted id in the tracked .del file
-        
FileIOUtils.writeStrings(Iterators.singletonIterator(activeDeletedBlobId), 
delTracker, false);
+        
FileIOUtils.writeStrings(Collections.singleton(activeDeletedBlobId).iterator(), 
delTracker, false);
 
         setupDataStore.close();
 
@@ -287,7 +288,7 @@ public class DataStoreCheckTest {
         assertEquals(2, count);
 
         // artificially put the deleted id in the tracked .del file
-        
FileIOUtils.writeStrings(Iterators.singletonIterator(activeDeletedBlobId), 
delTracker, false);
+        
FileIOUtils.writeStrings(Collections.singleton(activeDeletedBlobId).iterator(), 
delTracker, false);
 
         setupDataStore.close();
 
diff --git 
a/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/ClearMembershipActionTest.java
 
b/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/ClearMembershipActionTest.java
index d87a4a0056..ce87ae9dfc 100644
--- 
a/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/ClearMembershipActionTest.java
+++ 
b/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/ClearMembershipActionTest.java
@@ -28,6 +28,7 @@ import org.apache.jackrabbit.api.security.user.Authorizable;
 import org.apache.jackrabbit.api.security.user.Group;
 import org.apache.jackrabbit.api.security.user.User;
 import org.apache.jackrabbit.api.security.user.UserManager;
+import org.apache.jackrabbit.guava.common.collect.UnmodifiableIterator;
 import org.apache.jackrabbit.oak.api.Root;
 import org.apache.jackrabbit.oak.namepath.NamePathMapper;
 import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
@@ -75,7 +76,7 @@ public class ClearMembershipActionTest {
 
     @Test
     public void testOnRemoveUserWithMembership() throws Exception {
-        
when(user.declaredMemberOf()).thenReturn(Iterators.singletonIterator(gr));
+        when(user.declaredMemberOf()).thenReturn(Collections.singleton((Group) 
gr).iterator());
 
         action.onRemove(user, root, NamePathMapper.DEFAULT);
         assertTrue(gr.removed.contains(user));
@@ -84,7 +85,7 @@ public class ClearMembershipActionTest {
     @Test
     public void testOnRemoveGroupWithMembership() throws Exception {
         Group memberGroup = Mockito.mock(Group.class);
-        
when(memberGroup.declaredMemberOf()).thenReturn(Iterators.singletonIterator(gr));
+        
when(memberGroup.declaredMemberOf()).thenReturn(Collections.singleton(((Group) 
gr)).iterator());
 
         action.onRemove(memberGroup, root, NamePathMapper.DEFAULT);
         assertTrue(gr.removed.contains(memberGroup));
diff --git 
a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/ValueMap.java
 
b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/ValueMap.java
index c979182b22..1032099b5a 100644
--- 
a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/ValueMap.java
+++ 
b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/ValueMap.java
@@ -66,7 +66,7 @@ class ValueMap {
                     // merge sort local map into maps of previous documents
                     List<Iterator<NodeDocument>> iterators = 
                             new ArrayList<Iterator<NodeDocument>>(2);
-                    iterators.add(Iterators.singletonIterator(doc));
+                    iterators.add(Collections.singleton(doc).iterator());
                     iterators.add(doc.getPreviousDocs(property, 
null).iterator());
                     docs = IteratorUtils.mergeSorted(iterators, new 
Comparator<NodeDocument>() {
                                 @Override


Reply via email to