You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by re...@apache.org on 2024/10/23 20:10:42 UTC

(jackrabbit-oak) 01/01: Remove usage of Guava newArrayList - w.i.p.

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

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

commit 21848f4ba78d5e681d0c148c8b5f4b76a60130bf
Author: Julian Reschke <re...@apache.org>
AuthorDate: Wed Oct 23 21:10:21 2024 +0100

    Remove usage of Guava newArrayList - w.i.p.
---
 .../external/basic/DefaultSyncContextTest.java     |  2 +-
 .../external/impl/AutoMembershipTest.java          |  2 +-
 .../external/impl/DynamicAutomembershipTest.java   |  2 +-
 .../external/impl/DynamicGroupsTest.java           |  2 +-
 .../external/impl/jmx/DelegateeTest.java           |  2 +-
 .../impl/principal/AutoMembershipProviderTest.java |  2 +-
 .../impl/principal/DynamicGroupValidatorTest.java  |  6 +--
 .../ExternalAuthorizableActionProviderTest.java    |  2 +-
 .../ExternalGroupPrincipalProviderDMTest.java      |  2 +-
 .../principal/ExternalIdentityValidatorTest.java   |  2 +-
 .../impl/principal/ExternalUserValidatorTest.java  |  2 +-
 .../PrincipalProviderAutoMembershipTest.java       |  2 +-
 .../impl/principal/SystemPrincipalConfigTest.java  |  2 +-
 .../ldap/impl/LdapIdentityProviderUseSSLTest.java  |  2 +-
 .../ldap/impl/LookupOnValidateTest.java            |  2 +-
 .../authorization/cug/impl/NestedCugHook.java      |  2 +-
 .../impl/PrincipalBasedAccessControlManager.java   |  2 +-
 .../jackrabbit/oak/benchmark/HybridIndexTest.java  |  4 +-
 .../oak/benchmark/util/OakLuceneIndexUtils.java    |  2 +-
 .../benchmarks/search/AggregateNodeSearcher.java   |  2 +-
 .../suites/ScalabilityBlobSearchSuite.java         |  6 +--
 .../suites/ScalabilityNodeRelationshipSuite.java   | 10 ++---
 .../scalability/suites/ScalabilityNodeSuite.java   | 10 ++---
 .../jackrabbit/oak/benchmark/BenchmarkRunner.java  |  6 +--
 .../oak/benchmark/ConcurrentFileWriteTest.java     |  4 +-
 .../jackrabbit/oak/benchmark/FacetSearchTest.java  |  4 +-
 .../jackrabbit/oak/benchmark/GetURITest.java       |  2 +-
 .../jackrabbit/oak/benchmark/ObservationTest.java  |  8 ++--
 .../jackrabbit/oak/benchmark/SearchTest.java       |  6 +--
 .../authorization/AbstractHasItemGetItemTest.java  |  2 +-
 .../HasPermissionHasItemGetItemTest.java           |  2 +-
 .../permission/EagerCacheSizeTest.java             |  2 +-
 .../principalbased/PrinicipalBasedReadTest.java    |  2 +-
 .../oak/scalability/ScalabilityRunner.java         |  6 +--
 .../benchmarks/search/ConcurrentReader.java        |  2 +-
 .../suites/ScalabilityAbstractSuite.java           |  4 +-
 .../azure/blobstorage/AzureBlobStoreBackend.java   |  4 +-
 .../azure/blobstorage/AzureDataStoreTest.java      | 24 ++++++------
 .../jackrabbit/oak/blob/cloud/s3/S3Backend.java    |  6 +--
 .../oak/blob/cloud/s3/TestS3DataStore.java         | 14 +++----
 .../jackrabbit/oak/blob/cloud/s3/TestS3Ds.java     |  2 +-
 .../blob/ConsolidatedDataStoreCacheStats.java      |  7 ++--
 .../plugins/blob/MarkSweepGarbageCollector.java    | 23 +++++------
 .../oak/plugins/blob/UploadStagingCache.java       |  4 +-
 .../oak/plugins/blob/datastore/BlobIdTracker.java  | 16 ++++----
 .../plugins/blob/datastore/DataStoreBlobStore.java |  4 +-
 .../plugins/blob/AbstractDataStoreCacheTest.java   |  4 +-
 .../jackrabbit/oak/plugins/blob/BlobGCTest.java    | 12 +++---
 .../blob/ConsolidatedDataStoreStatsTest.java       | 36 +++++++++---------
 .../oak/plugins/blob/SharedDataStoreUtilsTest.java | 16 ++++----
 .../oak/plugins/blob/TimeLapsedDataStore.java      |  6 +--
 .../oak/plugins/blob/UploadStagingCacheTest.java   |  8 ++--
 .../datastore/ActiveDeletionTrackerStoreTest.java  | 14 +++----
 .../datastore/BlobIdTrackerClusterSharedTest.java  |  5 +--
 .../blob/datastore/BlobIdTrackerStoreTest.java     |  5 ++-
 .../plugins/blob/datastore/BlobIdTrackerTest.java  |  4 +-
 .../datastore/DataStoreBlobStoreStatsTest.java     |  4 +-
 .../blob/datastore/DataStoreBlobStoreTest.java     |  7 +---
 .../oak/plugins/blob/datastore/FSBackendIT.java    |  5 +--
 .../blob/datastore/SharedDataStoreTest.java        | 17 ++++-----
 .../AbstractDataRecordAccessProviderIT.java        |  4 +-
 .../AbstractDataRecordAccessProviderTest.java      | 12 +++---
 .../DataRecordDownloadOptionsTest.java             | 16 ++++----
 .../oak/spi/blob/AbstractBlobStoreTest.java        | 10 ++---
 .../jackrabbit/oak/commons/FileIOUtilsTest.java    | 31 +++++++--------
 .../commons/FileLineDifferenceIteratorTest.java    |  9 ++---
 .../apache/jackrabbit/oak/commons/IOUtilsTest.java | 12 +++---
 .../oak/commons/junit/LogCustomizer.java           |  5 +--
 .../oak/commons/sort/StringSortTest.java           |  6 +--
 .../oak/spi/mount/SimpleMountInfoProvider.java     | 10 ++---
 .../main/java/org/apache/jackrabbit/oak/Oak.java   | 18 ++++-----
 .../apache/jackrabbit/oak/core/MutableRoot.java    |  4 +-
 .../oak/management/RepositoryManager.java          |  5 ++-
 .../plugins/commit/AnnotatingConflictHandler.java  |  4 +-
 .../oak/plugins/cow/BranchNodeStore.java           |  9 +++--
 .../oak/plugins/index/AsyncIndexUpdate.java        |  4 +-
 .../oak/plugins/index/AsyncIndexerService.java     |  4 +-
 .../index/CompositeIndexEditorProvider.java        |  4 +-
 .../oak/plugins/index/IndexMBeanRegistration.java  |  6 +--
 .../jackrabbit/oak/plugins/index/IndexUpdate.java  |  4 +-
 .../index/aggregate/SimpleNodeAggregator.java      |  4 +-
 .../property/OrderedPropertyIndexProvider.java     | 12 +++---
 .../index/property/PropertyIndexLookup.java        |  4 +-
 .../plugins/index/property/PropertyIndexPlan.java  |  4 +-
 .../plugins/index/reference/ReferenceIndex.java    |  2 +-
 .../oak/plugins/itemsave/ItemSaveValidator.java    |  4 +-
 .../plugins/metric/StatisticsProviderFactory.java  |  7 ++--
 .../plugins/nodetype/EffectiveNodeTypeImpl.java    |  8 ++--
 .../oak/plugins/nodetype/NodeTypeImpl.java         |  9 ++---
 .../plugins/nodetype/ReadOnlyNodeTypeManager.java  |  8 ++--
 .../oak/plugins/nodetype/TypeEditor.java           | 11 +++---
 .../oak/plugins/nodetype/TypeRegistration.java     |  9 ++---
 .../nodetype/write/NodeTypeTemplateImpl.java       |  4 +-
 .../oak/plugins/observation/EventGenerator.java    |  6 +--
 .../plugins/observation/filter/FilterBuilder.java  | 24 +++++-------
 .../oak/plugins/observation/filter/Filters.java    | 11 +++---
 .../oak/plugins/version/VersionHook.java           |  5 ++-
 .../oak/plugins/version/VersionableState.java      |  4 +-
 .../org/apache/jackrabbit/oak/query/QueryImpl.java |  6 +--
 .../apache/jackrabbit/oak/query/ast/AndImpl.java   | 10 ++---
 .../apache/jackrabbit/oak/query/ast/InImpl.java    |  4 +-
 .../apache/jackrabbit/oak/query/ast/OrImpl.java    | 19 +++++-----
 .../jackrabbit/oak/query/ast/SelectorImpl.java     |  4 +-
 .../security/authorization/accesscontrol/ACL.java  |  7 ++--
 .../accesscontrol/AccessControlManagerImpl.java    |  4 +-
 .../composite/CompositeAccessControlManager.java   |  4 +-
 .../permission/MountPermissionProvider.java        |  5 +--
 .../internal/SecurityProviderRegistration.java     | 12 +++---
 .../oak/security/user/PasswordHistory.java         |  5 ++-
 .../jackrabbit/oak/AbstractSecurityTest.java       |  5 +--
 .../java/org/apache/jackrabbit/oak/OakTest.java    |  4 +-
 .../oak/plugins/index/AsyncIndexUpdateTest.java    |  4 +-
 .../plugins/index/IndexInfoServiceImplTest.java    |  6 +--
 .../plugins/index/IndexPathServiceImplTest.java    | 16 ++++----
 .../oak/plugins/index/IndexUtilsTest.java          | 17 ++++-----
 .../index/aggregate/SimpleNodeAggregatorTest.java  | 44 +++++++++++-----------
 .../inventory/IndexDefinitionPrinterTest.java      |  7 ++--
 .../index/property/MultiPropertyOrTest.java        |  7 ++--
 .../index/property/PropertyIndexLookupTest.java    |  4 +-
 .../property/SinglePropertyIndexQueryTests.java    | 19 +++++-----
 .../plugins/index/property/ValuePatternTest.java   | 40 ++++++++++----------
 .../index/property/jmx/PropertyIndexStatsTest.java |  2 +-
 .../index/reference/ReferenceIndexTest.java        |  5 ++-
 .../metric/MetricStatisticsProviderTest.java       |  5 +--
 .../plugins/migration/FilteringNodeStateTest.java  |  7 ++--
 .../oak/plugins/tree/impl/ImmutableTreeTest.java   | 10 ++---
 .../jackrabbit/oak/query/AbstractQueryTest.java    |  2 +-
 .../apache/jackrabbit/oak/query/IteratorsTest.java | 27 ++++++-------
 .../query/OrQueryOrderLimitWithoutIndexTest.java   |  5 +--
 .../jackrabbit/oak/query/UnionQueryTest.java       | 11 +++---
 .../authorization/AuthorizationContextTest.java    |  2 +-
 .../authorization/accesscontrol/ACLTest.java       |  2 +-
 .../AccessControlImporterBaseTest.java             |  4 +-
 .../AccessControlManagerImplTest.java              |  2 +-
 .../AccessControlWithUnknownPrincipalTest.java     | 24 ++++++------
 .../authorization/accesscontrol/EntryTest.java     |  2 +-
 .../accesscontrol/ReadPolicyTest.java              |  9 ++---
 .../CompositePermissionProviderOrTest.java         | 34 ++++++++---------
 .../oak/security/principal/EveryoneFilterTest.java | 14 +++----
 .../security/user/AuthorizableIteratorTest.java    |  4 +-
 .../user/CachedPrincipalMembershipReaderTest.java  |  2 +-
 .../user/RepMembersConflictHandlerTest.java        |  2 +-
 .../security/user/UserConfigurationImplTest.java   |  2 +-
 .../oak/security/user/UserImporterBaseTest.java    |  5 ++-
 .../user/autosave/AuthorizableWrapperTest.java     |  8 ++--
 .../oak/spi/commit/BackgroundObserverTest.java     | 10 ++---
 .../oak/spi/whiteboard/WhiteboardUtilsTest.java    |  5 +--
 .../oak/standalone/RepositoryInitializer.java      |  4 +-
 .../java/org/apache/jackrabbit/oak/OakAssert.java  |  4 +-
 .../org/apache/jackrabbit/oak/api/TreeTest.java    |  2 +-
 .../oak/composite/AtomicCompositeMergeTest.java    |  4 +-
 .../CompositeNodeStoreClusterObservationTest.java  |  2 +-
 .../oak/composite/CompositeNodeStoreTest.java      | 10 ++---
 .../blob/datastore/DataStoreTrackerGCTest.java     | 36 +++++++++---------
 .../jackrabbit/oak/jcr/delegate/NodeDelegate.java  |  4 +-
 .../oak/jcr/delegate/VersionDelegate.java          |  2 +-
 .../observation/ConsolidatedListenerMBeanImpl.java |  4 +-
 .../oak/jcr/observation/EventFactory.java          |  2 +-
 .../oak/jcr/observation/OakEventFilterImpl.java    |  4 +-
 .../jcr/observation/ObservationManagerImpl.java    |  8 ++--
 .../jackrabbit/oak/jcr/session/NodeImpl.java       |  2 +-
 .../oak/jcr/session/RefreshStrategy.java           |  4 +-
 .../jackrabbit/oak/jcr/xml/ImporterImpl.java       |  2 +-
 .../jackrabbit/oak/jcr/AtomicCounterClusterIT.java |  6 +--
 .../apache/jackrabbit/oak/jcr/AtomicCounterIT.java |  2 +-
 .../oak/jcr/ConcurrentIndexUpdateIT.java           |  4 +-
 .../jackrabbit/oak/jcr/ConcurrentReadIT.java       |  4 +-
 .../jackrabbit/oak/jcr/JackrabbitNodeTest.java     |  4 +-
 .../jackrabbit/oak/jcr/LargeOperationIT.java       | 18 ++++-----
 .../jackrabbit/oak/jcr/ObservationQueueTest.java   | 18 ++++-----
 .../jackrabbit/oak/jcr/ReferenceBinaryIT.java      |  2 +-
 .../apache/jackrabbit/oak/jcr/RepositoryTest.java  |  2 +-
 .../oak/jcr/binary/BinaryAccessDSGCIT.java         |  8 ++--
 .../oak/jcr/binary/BinaryAccessUnsupportedIT.java  |  2 +-
 .../oak/jcr/cluster/ObservationTest.java           |  2 +-
 .../oak/jcr/observation/ObservationTest.java       |  4 +-
 .../security/authorization/UserManagementTest.java |  2 +-
 .../jcr/security/user/FindAuthorizablesTest.java   |  2 +-
 .../user/GroupImportWithActionsBestEffortTest.java |  2 +-
 .../security/user/GroupImportWithActionsTest.java  |  2 +-
 .../oak/jcr/security/user/UserQueryTest.java       |  2 +-
 .../index/lucene/IndexAugmentorFactory.java        |  4 +-
 .../index/lucene/LuceneIndexEditorProvider.java    |  4 +-
 .../index/lucene/LuceneIndexProviderService.java   |  4 +-
 .../index/lucene/NodeStateAnalyzerFactory.java     |  6 +--
 .../ActiveDeletedBlobCollectorFactory.java         |  2 +-
 .../lucene/directory/CopyOnReadDirectory.java      |  2 +-
 .../index/lucene/directory/IndexRootDirectory.java |  2 +-
 .../lucene/directory/OakBufferedIndexFile.java     |  8 ++--
 .../index/lucene/directory/OakDirectory.java       |  2 +-
 .../plugins/index/lucene/hybrid/DocumentQueue.java |  2 +-
 .../CompositeNodeStoreLuceneIndexTest.java         |  4 +-
 .../composite/CompositeNodeStoreQueryTestBase.java |  6 +--
 .../jackrabbit/oak/composite/PrefetchTest.java     |  2 +-
 .../oak/jcr/LuceneOakRepositoryStub.java           |  4 +-
 .../jackrabbit/oak/jcr/query/SpellcheckTest.java   |  2 +-
 .../jackrabbit/oak/jcr/query/SuggestTest.java      |  2 +-
 .../ActiveDeletedBlobCollectorMBeanImplTest.java   | 24 ++++++------
 .../lucene/AsyncIndexStatsUpdateCallbackTest.java  |  4 +-
 .../lucene/AsyncIndexUpdateCorruptMarkingTest.java |  4 +-
 .../index/lucene/IndexAugmentorFactoryTest.java    |  2 +-
 .../oak/plugins/index/lucene/IndexCopierTest.java  |  8 ++--
 .../oak/plugins/index/lucene/IndexPlannerTest.java |  6 +--
 .../plugins/index/lucene/IndexStatisticsTest.java  |  4 +-
 .../lucene/IndexlaneRepositoryTraversalTest.java   |  6 +--
 .../oak/plugins/index/lucene/InvalidIndexTest.java |  4 +-
 .../index/lucene/LuceneIndexAggregationTest.java   |  6 +--
 .../index/lucene/LuceneIndexAugmentTest.java       |  4 +-
 .../index/lucene/LuceneIndexPlannerCommonTest.java |  6 +--
 .../oak/plugins/index/lucene/LuceneIndexTest.java  |  8 ++--
 .../index/lucene/LucenePropertyIndexTest.java      | 26 ++++++-------
 .../index/lucene/LuceneTestRepositoryBuilder.java  |  4 +-
 .../directory/ActiveDeletedBlobCollectionIT.java   |  2 +-
 .../directory/ActiveDeletedBlobCollectorTest.java  | 16 ++++----
 .../ActiveDeletedBlobSyncTrackerTest.java          |  6 +--
 .../lucene/directory/ChunkedOakDirectoryTest.java  |  4 +-
 .../ConcurrentCopyOnReadDirectoryTest.java         |  4 +-
 .../directory/IndexConsistencyCheckerTest.java     |  4 +-
 .../index/lucene/directory/LocalIndexDirTest.java  |  2 +-
 .../directory/OakStreamingIndexFileTest.java       |  2 +-
 .../index/lucene/hybrid/HybridIndexClusterIT.java  |  2 +-
 .../lucene/hybrid/LocalIndexWriterFactoryTest.java |  2 +-
 .../invalidData/InvalidIndexDefinitionTest.java    | 16 ++++----
 .../index/lucene/util/TapeSamplingTest.java        | 10 ++---
 .../lucene/writer/MultiplexingIndexWriterTest.java |  2 +-
 .../oak/run/osgi/OakOSGiRepositoryFactory.java     |  2 +-
 .../jackrabbit/oak/run/osgi/SpringBootSupport.java |  2 +-
 .../jackrabbit/oak/query/facet/FacetResult.java    |  6 +--
 .../oak/spi/query/CompositeQueryIndexProvider.java |  7 ++--
 .../plugins/document/DocumentNodeStoreHelper.java  |  6 +--
 .../jackrabbit/oak/run/cli/OakHelpFormatter.java   |  2 +-
 .../flatfile/FlatFileStoreIteratorTest.java        |  8 ++--
 .../oak/checkpoint/DocumentCheckpoints.java        |  2 +-
 .../oak/checkpoint/SegmentTarCheckpoints.java      |  2 +-
 .../AbstractSegmentTarExplorerBackend.java         |  8 ++--
 .../jackrabbit/oak/explorer/NodeStoreTree.java     | 12 +++---
 .../oak/plugins/document/SweepHelper.java          |  6 +--
 .../jackrabbit/oak/run/DataStoreCommand.java       |  2 +-
 .../jackrabbit/oak/index/IncrementalStoreTest.java |  4 +-
 .../org/apache/jackrabbit/oak/index/ReindexIT.java |  4 +-
 .../oak/plugins/tika/TextPopulatorTest.java        |  4 +-
 .../jackrabbit/oak/run/DataStoreCheckTest.java     | 34 ++++++++---------
 .../oak/run/DataStoreCommandMetadataTest.java      |  4 +-
 .../jackrabbit/oak/run/DataStoreCommandTest.java   | 30 +++++++--------
 .../index/elastic/ElasticAbstractQueryTest.java    |  4 +-
 .../search/spi/editor/FulltextIndexEditor.java     |  6 +--
 .../search/spi/query/FulltextIndexPlanner.java     |  8 ++--
 .../IndexQuerySQL2OptimisationCommonTest.java      |  2 +-
 .../index/search/util/TapeSamplingTest.java        | 10 ++---
 .../jackrabbit/oak/plugins/tree/TreeUtil.java      |  7 ++--
 .../user/action/CompositeActionProvider.java       |  4 +-
 .../action/DefaultAuthorizableActionProvider.java  |  4 +-
 .../oak/plugins/tree/AbstractTreeTest.java         |  7 ++--
 .../jackrabbit/oak/plugins/tree/TreeUtilTest.java  |  9 ++---
 .../AbstractAccessControlListTest.java             |  7 ++--
 .../accesscontrol/ImmutableACLTest.java            |  3 +-
 .../authorization/accesscontrol/TestACL.java       |  3 +-
 .../oak/spi/security/privilege/JcrAllUtilTest.java | 11 +++---
 .../oak/spi/xml/ReferenceChangeTrackerTest.java    |  7 ++--
 .../oak/segment/aws/AwsArchiveManagerTest.java     |  4 +-
 .../oak/segment/azure/tool/ToolUtils.java          |  6 +--
 .../oak/segment/azure/AzureArchiveManagerTest.java |  4 +-
 .../jackrabbit/oak/segment/ClassicCompactor.java   |  4 +-
 .../oak/segment/DefaultSegmentWriter.java          | 28 +++++++-------
 .../oak/segment/MutableSegmentReferences.java      |  4 +-
 .../oak/segment/SegmentBufferWriterPool.java       |  6 +--
 .../jackrabbit/oak/segment/SegmentIdTable.java     |  4 +-
 .../jackrabbit/oak/segment/SegmentParser.java      |  4 +-
 .../apache/jackrabbit/oak/segment/Template.java    |  2 +-
 .../jackrabbit/oak/segment/file/FileReaper.java    |  4 +-
 .../file/FullSizeDeltaEstimationStrategy.java      |  4 +-
 .../oak/segment/file/proc/CommitNode.java          |  2 +-
 .../jackrabbit/oak/segment/file/tar/TarFiles.java  |  4 +-
 .../jackrabbit/oak/segment/file/tar/TarReader.java |  4 +-
 .../server/DefaultStandbyReferencesReader.java     |  4 +-
 .../jackrabbit/oak/segment/tool/DebugStore.java    |  4 +-
 .../apache/jackrabbit/oak/segment/tool/Utils.java  |  6 +--
 .../oak/segment/ClassicCompactorTest.java          |  4 +-
 .../jackrabbit/oak/segment/CommitsTrackerTest.java |  6 +--
 .../oak/segment/CompactionAndCleanupIT.java        | 12 +++---
 .../jackrabbit/oak/segment/CompactorTestUtils.java |  4 +-
 .../oak/segment/DefaultSegmentWriterTest.java      |  4 +-
 .../jackrabbit/oak/segment/ExternalBlobIT.java     |  2 +-
 .../oak/segment/MutableSegmentReferencesTest.java  |  4 +-
 .../apache/jackrabbit/oak/segment/RecordTest.java  |  4 +-
 .../oak/segment/SegmentBufferWriterTest.java       | 10 ++---
 .../oak/segment/SegmentDataStoreBlobGCIT.java      |  8 ++--
 .../jackrabbit/oak/segment/SegmentParserTest.java  |  4 +-
 .../jackrabbit/oak/segment/file/GcJournalTest.java |  4 +-
 .../oak/segment/file/tar/TarFileTest.java          |  4 +-
 .../segment/scheduler/LockBasedSchedulerTest.java  |  4 +-
 .../segment/standby/codec/ResponseDecoderTest.java |  4 +-
 .../segment/tool/CheckInvalidRepositoryTest.java   | 28 +++++++-------
 .../oak/segment/tool/CheckValidRepositoryTest.java | 36 +++++++++---------
 .../tool/iotrace/BreadthFirstTraceTest.java        | 10 ++---
 .../segment/tool/iotrace/DepthFirstTraceTest.java  | 10 ++---
 .../oak/segment/tool/iotrace/RandomTraceTest.java  |  8 ++--
 .../solr/osgi/SolrQueryIndexProviderService.java   |  2 +-
 .../jackrabbit/oak/jcr/query/SpellcheckTest.java   |  2 +-
 .../jackrabbit/oak/jcr/query/SuggestTest.java      |  2 +-
 .../oak/composite/CompositeNodeStore.java          |  2 +-
 .../oak/composite/CompositionContext.java          |  4 +-
 .../oak/composite/InitialContentMigrator.java      |  2 +-
 .../oak/composite/CompositeChildrenCountTest.java  |  4 +-
 .../oak/composite/CompositeCompareTest.java        |  4 +-
 .../oak/plugins/document/BatchCommit.java          |  4 +-
 .../oak/plugins/document/DocumentNodeStore.java    |  8 ++--
 .../plugins/document/DocumentNodeStoreService.java |  4 +-
 .../plugins/document/DocumentStoreException.java   |  2 +-
 .../oak/plugins/document/FormatVersion.java        |  4 +-
 .../oak/plugins/document/JournalEntry.java         |  2 +-
 .../oak/plugins/document/LastRevRecoveryAgent.java |  6 +--
 .../oak/plugins/document/NodeDocument.java         |  8 ++--
 .../oak/plugins/document/SplitDocumentCleanUp.java |  2 +-
 .../oak/plugins/document/SplitOperations.java      |  2 +-
 .../oak/plugins/document/UnsavedModifications.java |  2 +-
 .../plugins/document/VersionGarbageCollector.java  |  8 ++--
 .../plugins/document/bundlor/DocumentBundlor.java  |  2 +-
 .../plugins/document/cache/NodeDocumentCache.java  |  2 +-
 .../plugins/document/mongo/MongoDocumentStore.java |  8 ++--
 .../document/mongo/MongoVersionGCSupport.java      |  6 +--
 .../oak/plugins/document/rdb/RDBDocumentStore.java |  4 +-
 .../plugins/document/rdb/RDBDocumentStoreDB.java   |  2 +-
 .../plugins/document/rdb/RDBVersionGCSupport.java  |  2 +-
 .../secondary/SecondaryStoreCacheService.java      |  4 +-
 .../oak/plugins/document/AbstractJournalTest.java  |  2 +-
 .../BaseDocumentDiscoveryLiteServiceTest.java      |  2 +-
 .../plugins/document/BasicDocumentStoreTest.java   |  2 +-
 .../oak/plugins/document/BlobCollectorTest.java    |  4 +-
 .../document/BlobReferenceIteratorTest.java        |  4 +-
 .../document/BulkCreateOrUpdateClusterTest.java    |  4 +-
 .../plugins/document/CacheConsistencyTestBase.java |  4 +-
 .../oak/plugins/document/ClusterConflictTest.java  |  4 +-
 .../oak/plugins/document/ClusterNodeInfoTest.java  |  2 +-
 .../document/ClusterRevisionComparisonTest.java    |  2 +-
 .../oak/plugins/document/ClusterTest.java          |  6 +--
 .../plugins/document/CollisionRollbackTest.java    |  2 +-
 .../document/ConcurrentPrefetchAndUpdateIT.java    |  4 +-
 .../document/ConcurrentPropertyUpdateTest.java     |  2 +-
 .../document/ConcurrentQueryAndInvalidateIT.java   |  8 ++--
 .../document/ConcurrentQueryAndUpdate2IT.java      |  6 +--
 .../document/ConcurrentQueryAndUpdateIT.java       |  6 +--
 .../plugins/document/DocumentBatchSplitTest.java   |  2 +-
 .../oak/plugins/document/DocumentMK.java           |  2 +-
 .../plugins/document/DocumentNodeStoreTest.java    | 30 +++++++--------
 .../oak/plugins/document/DocumentSplitTest.java    | 16 ++++----
 .../document/DocumentStoreExceptionTest.java       |  4 +-
 .../oak/plugins/document/DocumentStoreStatsIT.java |  2 +-
 .../oak/plugins/document/ExternalChangesTest.java  |  4 +-
 .../oak/plugins/document/FailingDocumentStore.java |  2 +-
 .../plugins/document/GetChildNodeCountTest.java    |  4 +-
 .../plugins/document/HierarchyConflictTest.java    |  2 +-
 .../oak/plugins/document/JournalEntryTest.java     |  6 +--
 .../oak/plugins/document/JournalTest.java          |  8 ++--
 .../plugins/document/LargeMergeRecoveryTest.java   |  2 +-
 .../document/LastRevRecoveryRandomizedIT.java      |  4 +-
 .../oak/plugins/document/LastRevRecoveryTest.java  | 18 ++++-----
 .../document/LastRevSingleNodeRecoveryTest.java    |  2 +-
 .../oak/plugins/document/ManyClusterNodesTest.java |  6 +--
 .../oak/plugins/document/MeasureMemory.java        |  4 +-
 .../oak/plugins/document/MongoBlobGCTest.java      |  8 ++--
 .../plugins/document/MongoConnectionFactory.java   |  2 +-
 .../oak/plugins/document/MongoDocumentStoreIT.java |  6 +--
 .../plugins/document/MongoDocumentStoreTest.java   |  2 +-
 .../MongoVersionGCSupportDefaultNoBranchTest.java  |  4 +-
 .../plugins/document/MultiDocumentStoreTest.java   |  8 ++--
 .../document/NodeDocumentIdComparatorTest.java     |  2 +-
 .../plugins/document/NodeDocumentSweeperTest.java  | 10 ++---
 .../oak/plugins/document/NodeDocumentTest.java     | 26 ++++++-------
 .../oak/plugins/document/NodeStoreDiffTest.java    |  2 +-
 .../oak/plugins/document/OrphanedBranchTest.java   |  2 +-
 .../oak/plugins/document/PathComparatorTest.java   |  2 +-
 .../document/ResurrectNodeAfterRevisionGCTest.java | 12 +++---
 .../oak/plugins/document/RevisionTest.java         |  6 +--
 .../oak/plugins/document/RevisionVectorTest.java   |  2 +-
 .../plugins/document/SharedBlobStoreGCTest.java    |  6 +--
 .../oak/plugins/document/SimpleTest.java           |  2 +-
 .../oak/plugins/document/UpdateOpTest.java         |  4 +-
 .../oak/plugins/document/ValueMapTest.java         |  6 +--
 .../plugins/document/VersionGCDeletionTest.java    |  4 +-
 .../plugins/document/VersionGCSplitDocTest.java    |  2 +-
 .../oak/plugins/document/VersionGCTest.java        |  6 +--
 .../plugins/document/VersionGCWithSplitTest.java   |  2 +-
 .../document/VersionGarbageCollectorIT.java        |  6 +--
 .../document/VersionGarbageCollectorLogTest.java   |  2 +-
 .../plugins/document/blob/RDBBlobStoreTest.java    |  2 +-
 .../document/bundlor/DocumentBundlingTest.java     |  2 +-
 .../document/mongo/AcquireRecoveryLockTest.java    |  4 +-
 .../mongo/MongoMissingLastRevSeekerTest.java       |  2 +-
 .../oak/plugins/document/mongo/QueryHintTest.java  |  2 +-
 .../document/persistentCache/AsyncQueueTest.java   | 10 +++--
 .../document/persistentCache/NodeCacheTest.java    |  8 ++--
 .../plugins/document/rdb/RDBDocumentStoreTest.java |  4 +-
 .../secondary/SecondaryStoreCacheTest.java         |  6 +--
 .../document/util/MergeSortedIteratorsTest.java    |  4 +-
 .../util/ReadOnlyDocumentStoreWrapperTest.java     |  8 ++--
 .../apache/jackrabbit/oak/json/JsonSerializer.java | 16 ++++----
 .../oak/plugins/memory/MemoryNodeStore.java        |  3 +-
 .../plugins/memory/MultiBinaryPropertyState.java   |  4 +-
 .../oak/plugins/memory/MultiLongPropertyState.java |  5 ++-
 .../oak/plugins/memory/MultiPropertyState.java     |  4 +-
 .../oak/plugins/memory/PropertyBuilder.java        |  9 +++--
 .../oak/plugins/memory/PropertyStates.java         | 16 ++++----
 .../oak/plugins/value/jcr/PartialValueFactory.java |  4 +-
 .../jackrabbit/oak/json/JsonDeserializerTest.java  | 13 +++----
 .../jackrabbit/oak/json/JsonSerializerTest.java    |  8 +---
 .../oak/plugins/memory/PropertyStatesTest.java     | 23 ++++++-----
 .../oak/upgrade/RepositorySidegrade.java           |  4 +-
 .../jackrabbit/oak/upgrade/RepositoryUpgrade.java  |  7 ++--
 .../upgrade/checkpoint/CheckpointRetriever.java    |  8 ++--
 .../jackrabbit/oak/upgrade/cli/OakUpgrade.java     |  6 ++-
 .../oak/upgrade/CopyVersionHistoryTest.java        |  4 +-
 412 files changed, 1317 insertions(+), 1358 deletions(-)

diff --git a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncContextTest.java b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncContextTest.java
index 43dcdc18f2..3dcd0d3f50 100644
--- a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncContextTest.java
+++ b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncContextTest.java
@@ -1459,7 +1459,7 @@ public class DefaultSyncContextTest extends AbstractExternalAuthTest {
 
     @Test
     public void testCreateValuesSkipsNull() throws Exception {
-        List<String> strings = Lists.newArrayList("s", null, null, "t");
+        List<String> strings = List.of("s", null, null, "t");
         Value[] vs = syncCtx.createValues(strings);
         assertNotNull(vs);
         assertEquals(2, vs.length);
diff --git a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/AutoMembershipTest.java b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/AutoMembershipTest.java
index d44a65e57e..0886aace52 100644
--- a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/AutoMembershipTest.java
+++ b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/AutoMembershipTest.java
@@ -47,7 +47,7 @@ class AutoMembershipTest extends AbstractExternalAuthTest {
 
     @Parameterized.Parameters(name = "name={1}")
     public static Collection<Object[]> parameters() {
-        return Lists.newArrayList(
+        return List.of(
                 new Object[]{true, "DynamicSync=true"},
                 new Object[]{false, "DynamicSync=false"});
     }
diff --git a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/DynamicAutomembershipTest.java b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/DynamicAutomembershipTest.java
index a653f97d31..48c6a5be25 100644
--- a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/DynamicAutomembershipTest.java
+++ b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/DynamicAutomembershipTest.java
@@ -48,7 +48,7 @@ public class DynamicAutomembershipTest extends DynamicSyncContextTest {
 
     @Parameterized.Parameters(name = "name={1}")
     public static Collection<Object[]> parameters() {
-        return Lists.newArrayList(
+        return List.of(
                 new Object[] { false, "DynamicGroups=false" },
                 new Object[] { true, "DynamicGroups=true" });
     }
diff --git a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/DynamicGroupsTest.java b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/DynamicGroupsTest.java
index cdd18ddf9b..c71e16d9d8 100644
--- a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/DynamicGroupsTest.java
+++ b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/DynamicGroupsTest.java
@@ -64,7 +64,7 @@ public class DynamicGroupsTest extends DynamicSyncContextTest {
 
     @Parameterized.Parameters(name = "name={2}")
     public static Collection<Object[]> parameters() {
-        return Lists.newArrayList(
+        return List.of(
                 new Object[] { DefaultSyncConfigImpl.PARAM_USER_MEMBERSHIP_NESTING_DEPTH_DEFAULT, false, "Membership-Nesting-Depth=0" },
                 new Object[] { DefaultSyncConfigImpl.PARAM_USER_MEMBERSHIP_NESTING_DEPTH_DEFAULT+1, false, "Membership-Nesting-Depth=1" },
                 // NOTE: shortcut for PrincipalNameResolver is ignored if dynamic-groups are enabled
diff --git a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/DelegateeTest.java b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/DelegateeTest.java
index 51a1f54cf1..f693ab444a 100644
--- a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/DelegateeTest.java
+++ b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/DelegateeTest.java
@@ -85,7 +85,7 @@ public class DelegateeTest extends AbstractJmxTest {
 
     @Parameterized.Parameters(name = "name={1}")
     public static Collection<Object[]> parameters() {
-        return Lists.newArrayList(
+        return List.of(
                 new Object[] { 100, "BatchSize 100" },
                 new Object[] { 1, "BatchSize 1" },
                 new Object[] { 2, "BatchSize 2" });
diff --git a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/AutoMembershipProviderTest.java b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/AutoMembershipProviderTest.java
index 2590fbb4f8..a1f5d146e2 100644
--- a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/AutoMembershipProviderTest.java
+++ b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/AutoMembershipProviderTest.java
@@ -63,7 +63,7 @@ public class AutoMembershipProviderTest extends AbstractAutoMembershipTest {
     
     @Parameterized.Parameters(name = "name={1}")
     public static Collection<Object[]> parameters() {
-        return Lists.newArrayList(
+        return List.of(
                 new Object[] { false, "Dynamic-Groups = false" },
                 new Object[] { true, "Dynamic-Groups = true" });
     }
diff --git a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/DynamicGroupValidatorTest.java b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/DynamicGroupValidatorTest.java
index 765cf36c30..4d581e0f0b 100644
--- a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/DynamicGroupValidatorTest.java
+++ b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/DynamicGroupValidatorTest.java
@@ -269,7 +269,7 @@ public class DynamicGroupValidatorTest extends AbstractPrincipalTest {
 
         Tree groupTree = r.getTree(localGroup.getPath());
         Tree userTree = r.getTree(userManager.getAuthorizable(USER_ID).getPath());
-        List<String> members = Lists.newArrayList(groupTree.getProperty(REP_MEMBERS).getValue(Type.STRINGS));
+        List<String> members = List.of(groupTree.getProperty(REP_MEMBERS).getValue(Type.STRINGS));
         members.add(userTree.getProperty(JCR_UUID).getValue(Type.STRING));
         groupTree.setProperty(REP_MEMBERS, members, Type.WEAKREFERENCES);
         r.commit();
@@ -301,7 +301,7 @@ public class DynamicGroupValidatorTest extends AbstractPrincipalTest {
         r.commit();
         
         Tree groupTree = r.getTree(localGroup.getPath());
-        List<String> members = Lists.newArrayList(groupTree.getProperty(REP_MEMBERS).getValue(Type.STRINGS));
+        List<String> members = List.of(groupTree.getProperty(REP_MEMBERS).getValue(Type.STRINGS));
         members.remove(1);
         groupTree.setProperty(REP_MEMBERS, members, Type.WEAKREFERENCES);
         r.commit();
@@ -319,7 +319,7 @@ public class DynamicGroupValidatorTest extends AbstractPrincipalTest {
 
         Tree groupTree = r.getTree(localGroup.getPath());
         Tree userTree = r.getTree(userManager.getAuthorizable(USER_ID).getPath());
-        List<String> members = Lists.newArrayList(groupTree.getProperty(REP_MEMBERS).getValue(Type.STRINGS));
+        List<String> members = List.of(groupTree.getProperty(REP_MEMBERS).getValue(Type.STRINGS));
         members.add(userTree.getProperty(JCR_UUID).getValue(Type.STRING));
         groupTree.setProperty(REP_MEMBERS, members, Type.WEAKREFERENCES);
         try {
diff --git a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalAuthorizableActionProviderTest.java b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalAuthorizableActionProviderTest.java
index bd02fbc38c..54814bc1c3 100644
--- a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalAuthorizableActionProviderTest.java
+++ b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalAuthorizableActionProviderTest.java
@@ -78,7 +78,7 @@ public class ExternalAuthorizableActionProviderTest extends AbstractExternalAuth
 
     @Parameterized.Parameters(name = "name={1}")
     public static Collection<Object[]> parameters() {
-        return Lists.newArrayList(
+        return List.of(
                 new Object[] { true, "Fail" },
                 new Object[] { false, "Only Warn" });
     }
diff --git a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalGroupPrincipalProviderDMTest.java b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalGroupPrincipalProviderDMTest.java
index fe4c4f3fd2..bf910c880e 100644
--- a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalGroupPrincipalProviderDMTest.java
+++ b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalGroupPrincipalProviderDMTest.java
@@ -79,7 +79,7 @@ public class ExternalGroupPrincipalProviderDMTest extends AbstractPrincipalTest
 
     @Parameterized.Parameters(name = "name={2}")
     public static Collection<Object[]> parameters() {
-        return Lists.newArrayList(
+        return List.of(
                 new Object[] { true, DefaultSyncConfigImpl.PARAM_USER_MEMBERSHIP_NESTING_DEPTH_DEFAULT+1, "Dynamic Groups Enabled, Membership-Nesting-Depth=1" },
                 new Object[] { true, DefaultSyncConfigImpl.PARAM_USER_MEMBERSHIP_NESTING_DEPTH_DEFAULT+2, "Dynamic Groups Enabled, Membership-Nesting-Depth=2" },
                 new Object[] { false, DefaultSyncConfigImpl.PARAM_USER_MEMBERSHIP_NESTING_DEPTH_DEFAULT, "Dynamic Groups NOT Enabled" });
diff --git a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalIdentityValidatorTest.java b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalIdentityValidatorTest.java
index ed95f2b03b..5675e36975 100644
--- a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalIdentityValidatorTest.java
+++ b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalIdentityValidatorTest.java
@@ -150,7 +150,7 @@ public class ExternalIdentityValidatorTest extends ExternalLoginTestBase {
     public void testModifyExternalPrincipalNames() throws Exception {
         Tree userTree = root.getTree(externalUserPath);
         try {
-            userTree.setProperty(ExternalIdentityConstants.REP_EXTERNAL_PRINCIPAL_NAMES, Lists.newArrayList("principalNames"), Type.STRINGS);
+            userTree.setProperty(ExternalIdentityConstants.REP_EXTERNAL_PRINCIPAL_NAMES, List.of("principalNames"), Type.STRINGS);
             root.commit();
             fail("Changing rep:externalPrincipalNames must be detected.");
         } catch (CommitFailedException e) {
diff --git a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalUserValidatorTest.java b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalUserValidatorTest.java
index 50ce57ccc5..3f66af524e 100644
--- a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalUserValidatorTest.java
+++ b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalUserValidatorTest.java
@@ -87,7 +87,7 @@ public class ExternalUserValidatorTest extends ExternalLoginTestBase {
 
     @Parameterized.Parameters(name = "name={2}")
     public static Collection<Object[]> parameters() {
-        return Lists.newArrayList(
+        return List.of(
                 new Object[] { IdentityProtectionType.NONE, false, "None, Default Sync" },
                 new Object[] { IdentityProtectionType.WARN, true, "Warn, Dynamic Sync" },
                 new Object[] { IdentityProtectionType.WARN, false, "Warn, Default Sync" },
diff --git a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/PrincipalProviderAutoMembershipTest.java b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/PrincipalProviderAutoMembershipTest.java
index e0f795ec98..9f4c37d3bb 100644
--- a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/PrincipalProviderAutoMembershipTest.java
+++ b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/PrincipalProviderAutoMembershipTest.java
@@ -69,7 +69,7 @@ public class PrincipalProviderAutoMembershipTest extends ExternalGroupPrincipalP
 
     @Parameterized.Parameters(name = "name={2}")
     public static Collection<Object[]> parameters() {
-        return Lists.newArrayList(
+        return List.of(
                 new Object[] { true, false, "Nested automembership = true, Dynamic Groups = false" },
                 new Object[] { false, false, "Nested automembership = false, Dynamic Groups = false" },
                 new Object[] { false, true, "Nested automembership = false, Dynamic Groups = true" });
diff --git a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/SystemPrincipalConfigTest.java b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/SystemPrincipalConfigTest.java
index 5fae9b6575..c9b2a01f26 100644
--- a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/SystemPrincipalConfigTest.java
+++ b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/SystemPrincipalConfigTest.java
@@ -67,7 +67,7 @@ public class SystemPrincipalConfigTest extends AbstractExternalAuthTest {
 
     @Parameterized.Parameters(name = "name={1}")
     public static Collection<Object[]> parameters() {
-        return Lists.newArrayList(
+        return List.of(
                 new Object[] { null, "Null" },
                 new Object[] { new String[0], "Empty names" },
                 new Object[] { new String[] {SYSTEM_USER_NAME_1}, "Single name" },
diff --git a/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapIdentityProviderUseSSLTest.java b/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapIdentityProviderUseSSLTest.java
index 55fac052f7..2cf66e5daf 100644
--- a/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapIdentityProviderUseSSLTest.java
+++ b/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapIdentityProviderUseSSLTest.java
@@ -41,7 +41,7 @@ public class LdapIdentityProviderUseSSLTest extends AbstractLdapIdentityProvider
     
     @Parameterized.Parameters(name = "LdapConfiguration with {2}")
     public static Collection<Object[]> parameters() {
-        return Lists.newArrayList(
+        return List.of(
                 new Object[] {false, false, null, "useSSL=false, useTLS=false, enabled_protocols=NA"},
                 new Object[] {true, false, null, "useSSL=true, useTLS=false, enabled_protocols=NA"},
                 new Object[] {true, false, new String[] {PROTOCOL}, "useSSL=true, useTLS=false, enabled_protocols=["+PROTOCOL+"]"},
diff --git a/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LookupOnValidateTest.java b/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LookupOnValidateTest.java
index 75cdaf1e9b..0dc021e5a6 100644
--- a/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LookupOnValidateTest.java
+++ b/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LookupOnValidateTest.java
@@ -30,7 +30,7 @@ public class LookupOnValidateTest extends AbstractLdapIdentityProviderTest {
 
     @Parameterized.Parameters(name = "name={1}")
     public static Collection<Object[]> parameters() {
-        return Lists.newArrayList(
+        return List.of(
                 new Object[] { false, false, false, "False False" },
                 new Object[] { false, true, false, "False True" },
                 new Object[] { true, false, false, "True False"},
diff --git a/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/NestedCugHook.java b/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/NestedCugHook.java
index f9b96e7298..5b592b5221 100644
--- a/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/NestedCugHook.java
+++ b/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/NestedCugHook.java
@@ -96,7 +96,7 @@ class NestedCugHook implements PostValidationHook, CugConstants {
         PropertyState ps = parentBuilder.getProperty(HIDDEN_NESTED_CUGS);
         PropertyBuilder<String> pb = getHiddenPropertyBuilder(ps);
         if (ps != null) {
-            List<String> moveToNestedCug = Lists.newArrayList();
+            List<String> moveToNestedCug = new ArrayList<>();
             for (String p : ps.getValue(Type.STRINGS)) {
                 if (Text.isDescendant(pathWithNewCug, p)) {
                     pb.removeValue(p);
diff --git a/oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/PrincipalBasedAccessControlManager.java b/oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/PrincipalBasedAccessControlManager.java
index cf08d17027..4782fa8176 100644
--- a/oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/PrincipalBasedAccessControlManager.java
+++ b/oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/PrincipalBasedAccessControlManager.java
@@ -406,7 +406,7 @@ class PrincipalBasedAccessControlManager extends AbstractAccessControlManager im
 
     private static Iterable<String> getEffectivePaths(@Nullable String oakPath) {
         // read-access-control permission has already been check for 'oakPath'
-        List<String> paths = Lists.newArrayList();
+        List<String> paths = new ArrayList<>();
         paths.add(Objects.toString(oakPath, ""));
 
         String effectivePath = oakPath;
diff --git a/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/benchmark/HybridIndexTest.java b/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/benchmark/HybridIndexTest.java
index 303a6ac198..e8af68c5da 100644
--- a/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/benchmark/HybridIndexTest.java
+++ b/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/benchmark/HybridIndexTest.java
@@ -512,9 +512,9 @@ public class HybridIndexTest extends AbstractTest<HybridIndexTest.TestContext> {
             //With explicit list on those nodes would be indexed
             NodeBuilder nodetype = builder.getChildNode("oak:index").getChildNode("nodetype");
             if (nodetype.exists()) {
-                List<String> nodetypes = Lists.newArrayList();
+                List<String> nodetypes = new ArrayList<>();
                 if (nodetype.hasProperty(DECLARING_NODE_TYPES)){
-                    nodetypes = Lists.newArrayList(nodetype.getProperty(DECLARING_NODE_TYPES).getValue(Type.STRINGS));
+                    nodetypes = List.of(nodetype.getProperty(DECLARING_NODE_TYPES).getValue(Type.STRINGS));
                 }
 
                 if (nodetypes.isEmpty()) {
diff --git a/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/benchmark/util/OakLuceneIndexUtils.java b/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/benchmark/util/OakLuceneIndexUtils.java
index 475940ec24..160bed56cd 100644
--- a/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/benchmark/util/OakLuceneIndexUtils.java
+++ b/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/benchmark/util/OakLuceneIndexUtils.java
@@ -75,7 +75,7 @@ public class OakLuceneIndexUtils {
 
         // Set ordered property names
         if ((orderedPropsMap != null) && !orderedPropsMap.isEmpty()) {
-            List<String> orderedProps = Lists.newArrayList();
+            List<String> orderedProps = new ArrayList<>();
             for (Map.Entry<String, Map<String, String>> orderedPropEntry : orderedPropsMap
                     .entrySet()) {
                 Node propNode = JcrUtils.getOrAddNode(propsNode, orderedPropEntry.getKey(),
diff --git a/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/benchmarks/search/AggregateNodeSearcher.java b/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/benchmarks/search/AggregateNodeSearcher.java
index cd69d3c9a5..bbabe75fff 100644
--- a/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/benchmarks/search/AggregateNodeSearcher.java
+++ b/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/benchmarks/search/AggregateNodeSearcher.java
@@ -103,7 +103,7 @@ public class AggregateNodeSearcher extends SearchScalabilityBenchmark {
 
     private List<String> getRelatedUsers(Session session, Authorizable user)
         throws RepositoryException {
-        List<String> targets = Lists.newArrayList();
+        List<String> targets = new ArrayList<>();
         Node relRootNode =
             session.getNode(user.getPath() + "/" + ScalabilityNodeRelationshipSuite.RELATIONSHIPS);
         NodeIterator children = relRootNode.getNodes();
diff --git a/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityBlobSearchSuite.java b/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityBlobSearchSuite.java
index f2d542e966..3ce0973826 100644
--- a/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityBlobSearchSuite.java
+++ b/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityBlobSearchSuite.java
@@ -18,7 +18,7 @@
  */
 package org.apache.jackrabbit.oak.scalability.suites;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 
 import java.util.ArrayList;
 import java.util.List;
@@ -166,7 +166,7 @@ public class ScalabilityBlobSearchSuite extends ScalabilityNodeSuite {
         }
 
         // recreate paths created in this run
-        searchPaths = newArrayList();
+        searchPaths = new ArrayList<>();
         readPaths = new ArrayList<>(READERS);
 
         // create the blob load for this iteration
@@ -283,7 +283,7 @@ public class ScalabilityBlobSearchSuite extends ScalabilityNodeSuite {
                 while (count < maxAssets) {
                     session.refresh(false);
 
-                    List<String> levels = Lists.newArrayList();
+                    List<String> levels = new ArrayList<>();
                     getParentLevels(count, maxAssets, levels);
 
                     String fileNamePrefix = getFileNamePrefix(levels);
diff --git a/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityNodeRelationshipSuite.java b/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityNodeRelationshipSuite.java
index 8ad6a72108..b55321b870 100644
--- a/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityNodeRelationshipSuite.java
+++ b/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityNodeRelationshipSuite.java
@@ -123,10 +123,10 @@ public class ScalabilityNodeRelationshipSuite extends ScalabilityNodeSuite {
     private static final long BUCKET_SIZE = 100;
 
     private static final List<String> actions = Lists
-        .newArrayList("act1", "act2", "act3", "act4", "act5", "act6", "act7", "act8", "act9",
+        .NAL("act1", "act2", "act3", "act4", "act5", "act6", "act7", "act8", "act9",
             "act10");
     private static final List<String> objects = Lists
-        .newArrayList("obj1", "obj2", "obj3", "obj4", "obj5", "obj6", "obj7", "obj8", "obj9",
+        .NAL("obj1", "obj2", "obj3", "obj4", "obj5", "obj6", "obj7", "obj8", "obj9",
             "obj10");
 
     private final Random random = new Random(29);
@@ -145,8 +145,8 @@ public class ScalabilityNodeRelationshipSuite extends ScalabilityNodeSuite {
         root.addNode(ROOT_NODE_NAME);
         session.save();
 
-        users = Lists.newArrayList();
-        groups = Lists.newArrayList();
+        users = new ArrayList<>();
+        groups = new ArrayList<>();
 
         if (CUSTOM_TYPE) {
             NodeTypeUtils.createNodeType(session, CUSTOM_ACT_NODE_TYPE,
@@ -502,7 +502,7 @@ public class ScalabilityNodeRelationshipSuite extends ScalabilityNodeSuite {
          */
         private void createRelationships(Authorizable user, Node relationshipsParentNode,
             Node activitiesParentNode) throws RepositoryException {
-            List<Integer> usersIdx = Lists.newArrayList();
+            List<Integer> usersIdx = new ArrayList<>();
             for (int count = 0; count < users.size(); count++) {
                 usersIdx.add(count);
             }
diff --git a/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityNodeSuite.java b/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityNodeSuite.java
index e80a1b3bd4..5a89d0d3d3 100644
--- a/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityNodeSuite.java
+++ b/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityNodeSuite.java
@@ -18,7 +18,7 @@
  */
 package org.apache.jackrabbit.oak.scalability.suites;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 
 import java.util.ArrayList;
 import java.util.Calendar;
@@ -206,7 +206,7 @@ public class ScalabilityNodeSuite extends ScalabilityAbstractSuite {
 
     public ScalabilityNodeSuite(Boolean storageEnabled) {
         this.storageEnabled = storageEnabled;
-        this.nodeTypes = newArrayList();
+        this.nodeTypes = new ArrayList<>();
     }
 
     @Override
@@ -305,8 +305,8 @@ public class ScalabilityNodeSuite extends ScalabilityAbstractSuite {
         }
 
         // recreate paths created in this run
-        searchRootPaths = newArrayList();
-        searchDescPaths = newArrayList();
+        searchRootPaths = new ArrayList<>();
+        searchDescPaths = new ArrayList<>();
 
         // create the blob load for this iteration
         createLoad(context);
@@ -358,7 +358,7 @@ public class ScalabilityNodeSuite extends ScalabilityAbstractSuite {
 
         SynchronizedDescriptiveStatistics writeStats = new SynchronizedDescriptiveStatistics();
 
-        List<Thread> loadThreads = newArrayList();
+        List<Thread> loadThreads = new ArrayList<>();
         for (int idx = 0; idx < LOADERS; idx++) {
             /* Each loader will write to a directory of the form load-idx */
             Thread t =
diff --git a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java
index ef4a6e383c..e0f4472302 100644
--- a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java
+++ b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java
@@ -71,7 +71,7 @@ public class BenchmarkRunner {
 
     private static final int MB = 1024 * 1024;
 
-    protected static List<Benchmark> allBenchmarks = Lists.newArrayList();
+    protected static List<Benchmark> allBenchmarks = new ArrayList<>();
     protected static StatisticsProvider statsProvider = null;
 
     private static OptionParser parser = new OptionParser();
@@ -475,7 +475,7 @@ public class BenchmarkRunner {
 
 
         Set<String> argset = new HashSet<>(benchmarkOptions.getNonOption().values(options));
-        List<RepositoryFixture> fixtures = Lists.newArrayList();
+        List<RepositoryFixture> fixtures = new ArrayList<>();
         for (RepositoryFixture fixture : allFixtures) {
             if (argset.remove(fixture.toString())) {
                 fixtures.add(fixture);
@@ -488,7 +488,7 @@ public class BenchmarkRunner {
                     + asSortedString(Arrays.asList(allFixtures)));
         }
 
-        List<Benchmark> benchmarks = Lists.newArrayList();
+        List<Benchmark> benchmarks = new ArrayList<>();
         for (Benchmark benchmark : allBenchmarks) {
             if (argset.remove(benchmark.toString())) {
                 benchmarks.add(benchmark);
diff --git a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/ConcurrentFileWriteTest.java b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/ConcurrentFileWriteTest.java
index fb42ab98b0..aa07451bc6 100644
--- a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/ConcurrentFileWriteTest.java
+++ b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/ConcurrentFileWriteTest.java
@@ -16,7 +16,7 @@
  */
 package org.apache.jackrabbit.oak.benchmark;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 
 import java.util.List;
 import java.util.Random;
@@ -45,7 +45,7 @@ public class ConcurrentFileWriteTest extends AbstractTest {
 
     private final Random random = new Random();
 
-    private final List<String> paths = newArrayList();
+    private final List<String> paths = new ArrayList<>();
 
     private Writer writer;
 
diff --git a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/FacetSearchTest.java b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/FacetSearchTest.java
index d7b5cae53b..d633728585 100644
--- a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/FacetSearchTest.java
+++ b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/FacetSearchTest.java
@@ -45,7 +45,7 @@ import java.util.Map;
 import java.util.Random;
 import java.util.Set;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.commons.JcrUtils.getOrCreateByPath;
 import static org.apache.jackrabbit.oak.api.Type.BOOLEAN;
 import static org.apache.jackrabbit.oak.api.Type.LONG;
@@ -142,7 +142,7 @@ public class FacetSearchTest extends AbstractTest<FacetSearchTest.TestContext> {
     }
 
     protected String getQuery() {
-        List<String> samples = newArrayList(propVals);
+        List<String> samples = NAL(propVals);
         return "SELECT [rep:facet(foo)], [rep:facet(bar)] FROM [nt:base] WHERE [cons] = '" + samples.get(rgen.nextInt(samples.size())) + "'";
     }
 
diff --git a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/GetURITest.java b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/GetURITest.java
index 2549dc0760..04e29f6ee7 100644
--- a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/GetURITest.java
+++ b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/GetURITest.java
@@ -42,7 +42,7 @@ public class GetURITest extends AbstractTest {
 
     private Node root;
 
-    private List<Binary> binariesAdded = Lists.newArrayList();
+    private List<Binary> binariesAdded = new ArrayList<>();
 
     private Random random = new Random(29);
 
diff --git a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/ObservationTest.java b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/ObservationTest.java
index 5eda8b38a5..bff22731f5 100644
--- a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/ObservationTest.java
+++ b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/ObservationTest.java
@@ -119,10 +119,10 @@ public class ObservationTest extends Benchmark {
         final AtomicInteger eventCount = new AtomicInteger();
         final AtomicInteger nodeCount = new AtomicInteger();
 
-        List<Session> sessions = Lists.newArrayList();
-        List<EventListener> listeners = Lists.newArrayList();
+        List<Session> sessions = new ArrayList<>();
+        List<EventListener> listeners = new ArrayList<>();
 
-        List<String> testPaths = Lists.newArrayList();
+        List<String> testPaths = new ArrayList<>();
         Session s = createSession(repository);
         String path = "/path/to/observation/benchmark-" + AbstractTest.TEST_ID;
         try {
@@ -148,7 +148,7 @@ public class ObservationTest extends Benchmark {
             // also add a listener on the root node
             addRootListener(repository, sessions, listeners);
 
-            List<Future<Object>> createNodes = Lists.newArrayList();
+            List<Future<Object>> createNodes = new ArrayList<>();
             for (final String p : testPaths) {
                 createNodes.add(service.submit(new Callable<Object>() {
                     private final Session session = createSession(repository);
diff --git a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/SearchTest.java b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/SearchTest.java
index baf0dd4122..a48dd52394 100644
--- a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/SearchTest.java
+++ b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/SearchTest.java
@@ -18,7 +18,7 @@
  */
 package org.apache.jackrabbit.oak.benchmark;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.INDEX_DEFINITIONS_NAME;
 
 import java.io.File;
@@ -91,7 +91,7 @@ public class SearchTest extends AbstractTest<SearchTest.TestContext> {
                 if (count % 100 == 0
                         && sampleSet.size() < maxSampleSize
                         && text != null) {
-                    List<String> words = newArrayList();
+                    List<String> words = new ArrayList<>();
 
                     if(isFullTextSearch()) {
                         Matcher matcher = WORD_PATTERN.matcher(text);
@@ -193,7 +193,7 @@ public class SearchTest extends AbstractTest<SearchTest.TestContext> {
     }
 
     private String[] getRandomWords() {
-        List<String> samples = newArrayList(sampleSet);
+        List<String> samples = NAL(sampleSet);
         String[] words = new String[100];
         for (int i = 0; i < words.length; i++) {
             words[i] = samples.get(random.nextInt(samples.size()));
diff --git a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authorization/AbstractHasItemGetItemTest.java b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authorization/AbstractHasItemGetItemTest.java
index 7856c479ef..dce037760c 100644
--- a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authorization/AbstractHasItemGetItemTest.java
+++ b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authorization/AbstractHasItemGetItemTest.java
@@ -82,7 +82,7 @@ abstract class AbstractHasItemGetItemTest extends ReadDeepTreeTest {
         Utils.addEntry(acMgr, principal, PathUtils.ROOT_PATH, readPrivs);
 
         // create additional ACEs according to benchmark configuration
-        allPrivileges = Lists.newArrayList(acMgr.privilegeFromName(JCR_ALL).getAggregatePrivileges());
+        allPrivileges = List.of(acMgr.privilegeFromName(JCR_ALL).getAggregatePrivileges());
         createForEachPrincipal(principal, acMgr, allPrivileges);
 
         adminSession.save();
diff --git a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authorization/HasPermissionHasItemGetItemTest.java b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authorization/HasPermissionHasItemGetItemTest.java
index 13e4a3010a..4eca3564f8 100644
--- a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authorization/HasPermissionHasItemGetItemTest.java
+++ b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authorization/HasPermissionHasItemGetItemTest.java
@@ -28,7 +28,7 @@ import java.util.List;
 
 public class HasPermissionHasItemGetItemTest extends AbstractHasItemGetItemTest {
 
-    private static final List<String> PERMISSIONS = Lists.newArrayList(Permissions.PERMISSION_NAMES.values());
+    private static final List<String> PERMISSIONS = List.of(Permissions.PERMISSION_NAMES.values());
 
     public HasPermissionHasItemGetItemTest(int itemsToRead, int numberOfACEs, int numberOfGroups, boolean doReport) {
         super(itemsToRead, numberOfACEs, numberOfGroups, doReport);
diff --git a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authorization/permission/EagerCacheSizeTest.java b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authorization/permission/EagerCacheSizeTest.java
index 8d34247441..4b0421f929 100644
--- a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authorization/permission/EagerCacheSizeTest.java
+++ b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authorization/permission/EagerCacheSizeTest.java
@@ -103,7 +103,7 @@ public class EagerCacheSizeTest extends ReadDeepTreeTest {
         Utils.addEntry(acMgr, principal, PathUtils.ROOT_PATH, readPrivs);
 
         // create additional ACEs for each principal in the subject
-        List<Privilege> allPrivileges = Lists.newArrayList(acMgr.privilegeFromName(JCR_ALL).getAggregatePrivileges());
+        List<Privilege> allPrivileges = List.of(acMgr.privilegeFromName(JCR_ALL).getAggregatePrivileges());
         Iterator<Principal> principalIterator = Iterators.cycle(subject.getPrincipals());
         int cnt = 0;
         while (cnt < numberOfACEs) {
diff --git a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authorization/principalbased/PrinicipalBasedReadTest.java b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authorization/principalbased/PrinicipalBasedReadTest.java
index b9aa2114b2..89d4da1335 100644
--- a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authorization/principalbased/PrinicipalBasedReadTest.java
+++ b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authorization/principalbased/PrinicipalBasedReadTest.java
@@ -111,7 +111,7 @@ public class PrinicipalBasedReadTest extends ReadDeepTreeTest {
         }
 
         // create additional ACEs according to benchmark configuration
-        List<Privilege> allPrivileges = Lists.newArrayList(acMgr.privilegeFromName(JCR_ALL).getAggregatePrivileges());
+        List<Privilege> allPrivileges = List.of(acMgr.privilegeFromName(JCR_ALL).getAggregatePrivileges());
         if (!entriesForEachPrincipal) {
             createForRotatingPrincipal(acMgr, allPrivileges);
         } else {
diff --git a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/scalability/ScalabilityRunner.java b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/scalability/ScalabilityRunner.java
index 88cbad785e..06e82b7bf0 100644
--- a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/scalability/ScalabilityRunner.java
+++ b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/scalability/ScalabilityRunner.java
@@ -50,7 +50,7 @@ public class ScalabilityRunner {
 
     private static final long MB = 1024 * 1024L;
 
-    protected static List<ScalabilitySuite> allSuites = Lists.newArrayList();
+    protected static List<ScalabilitySuite> allSuites = new ArrayList<>();
     private static OptionParser parser = new OptionParser();
     protected static ScalabilityOptions scalabilityOptions = null;
     protected static OptionSet options;
@@ -130,7 +130,7 @@ public class ScalabilityRunner {
                 ));
 
         Set<String> argset = new HashSet<>(scalabilityOptions.getNonOption().values(options));
-        List<RepositoryFixture> fixtures = Lists.newArrayList();
+        List<RepositoryFixture> fixtures = new ArrayList<>();
         for (RepositoryFixture fixture : allFixtures) {
             if (argset.remove(fixture.toString())) {
                 fixtures.add(fixture);
@@ -154,7 +154,7 @@ public class ScalabilityRunner {
                 "supported  are: " + Arrays.asList(allSuites));
         }
 
-        List<ScalabilitySuite> suites = Lists.newArrayList();
+        List<ScalabilitySuite> suites = new ArrayList<>();
         for (ScalabilitySuite suite : allSuites) {
             if (argmap.containsKey(suite.toString())) {
                 List<String> benchmarks = argmap.get(suite.toString());
diff --git a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/scalability/benchmarks/search/ConcurrentReader.java b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/scalability/benchmarks/search/ConcurrentReader.java
index bbb496c838..b083544669 100644
--- a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/scalability/benchmarks/search/ConcurrentReader.java
+++ b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/scalability/benchmarks/search/ConcurrentReader.java
@@ -67,7 +67,7 @@ public class ConcurrentReader extends ScalabilityBenchmark {
         ConcurrentReader.class.getSimpleName() + UUID.randomUUID();
 
     private boolean running;
-    private List<Thread> jobs = Lists.newArrayList();
+    private List<Thread> jobs = new ArrayList<>();
 
     @Override
     public void beforeExecute(Repository repository, Credentials credentials, ExecutionContext context) throws Exception {
diff --git a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityAbstractSuite.java b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityAbstractSuite.java
index 21da6f0e84..977fbb73d5 100644
--- a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityAbstractSuite.java
+++ b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityAbstractSuite.java
@@ -18,7 +18,7 @@
  */
 package org.apache.jackrabbit.oak.scalability.suites;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 
 import java.io.PrintStream;
 import java.util.LinkedHashMap;
@@ -385,7 +385,7 @@ public abstract class ScalabilityAbstractSuite implements ScalabilitySuite, CSVR
      */
     protected void initBackgroundJobs() {
         this.running = true;
-        threads = newArrayList();
+        threads = new ArrayList<>();
     }
     
     /**
diff --git a/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureBlobStoreBackend.java b/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureBlobStoreBackend.java
index 5c93f4ea00..2690d4da35 100644
--- a/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureBlobStoreBackend.java
+++ b/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureBlobStoreBackend.java
@@ -653,7 +653,7 @@ public class AzureBlobStoreBackend extends AbstractSharedBackend {
             throw new NullPointerException("prefix");
         }
         long start = System.currentTimeMillis();
-        final List<DataRecord> records = Lists.newArrayList();
+        final List<DataRecord> records = new ArrayList<>();
         ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
         try {
             Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
@@ -913,7 +913,7 @@ public class AzureBlobStoreBackend extends AbstractSharedBackend {
     }
 
     DataRecordUpload initiateHttpUpload(long maxUploadSizeInBytes, int maxNumberOfURIs, @NotNull final DataRecordUploadOptions options) {
-        List<URI> uploadPartURIs = Lists.newArrayList();
+        List<URI> uploadPartURIs = new ArrayList<>();
         long minPartSize = MIN_MULTIPART_UPLOAD_PART_SIZE;
         long maxPartSize = MAX_MULTIPART_UPLOAD_PART_SIZE;
 
diff --git a/oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureDataStoreTest.java b/oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureDataStoreTest.java
index 774d652192..ec51f18c63 100644
--- a/oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureDataStoreTest.java
+++ b/oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureDataStoreTest.java
@@ -261,7 +261,7 @@ public class AzureDataStoreTest {
         // 16500 - over 8K and 16K but under 64K (another reasonably expected stream buffer size)
         // 66000 - over 64K but under 128K (probably the largest reasonably expected stream buffer size)
         // 132000 - over 128K
-        for (int size : Lists.newArrayList(0, 10, 1000, 4100, 16500, 66000, 132000)) {
+        for (int size : List.of(0, 10, 1000, 4100, 16500, 66000, 132000)) {
             File testFile = folder.newFile();
             copyInputStreamToFile(randomStream(size, size), testFile);
             DataIdentifier identifier = new DataIdentifier(getIdForInputStream(new FileInputStream(testFile)));
@@ -386,8 +386,8 @@ public class AzureDataStoreTest {
 
     @Test
     public void testBackendGetAllIdentifiers() throws DataStoreException, IOException, NoSuchAlgorithmException {
-        for (int expectedRecCount : Lists.newArrayList(1, 2, 5)) {
-            final List<DataIdentifier> ids = Lists.newArrayList();
+        for (int expectedRecCount : List.of(1, 2, 5)) {
+            final List<DataIdentifier> ids = new ArrayList<>();
             for (int i=0; i<expectedRecCount; i++) {
                 File testfile = folder.newFile();
                 copyInputStreamToFile(randomStream(i, 10), testfile);
@@ -443,7 +443,7 @@ public class AzureDataStoreTest {
 
     @Test
     public void testBackendGetAllRecordsReturnsAll() throws DataStoreException, IOException {
-        for (int recCount : Lists.newArrayList(0, 1, 2, 5)) {
+        for (int recCount : List.of(0, 1, 2, 5)) {
             Map<DataIdentifier, String> addedRecords = Maps.newHashMap();
             if (0 < recCount) {
                 for (int i = 0; i < recCount; i++) {
@@ -454,7 +454,7 @@ public class AzureDataStoreTest {
             }
 
             Iterator<DataRecord> iter = backend.getAllRecords();
-            List<DataIdentifier> identifiers = Lists.newArrayList();
+            List<DataIdentifier> identifiers = new ArrayList<>();
             int actualCount = 0;
             while (iter.hasNext()) {
                 DataRecord record = iter.next();
@@ -478,9 +478,9 @@ public class AzureDataStoreTest {
 
     @Test
     public void testBackendAddMetadataRecordsFromInputStream() throws DataStoreException, IOException, NoSuchAlgorithmException {
-        for (boolean fromInputStream : Lists.newArrayList(false, true)) {
+        for (boolean fromInputStream : List.of(false, true)) {
             String prefix = String.format("%s.META.", getClass().getSimpleName());
-            for (int count : Lists.newArrayList(1, 3)) {
+            for (int count : List.of(1, 3)) {
                 Map<String, String> records = Maps.newHashMap();
                 for (int i = 0; i < count; i++) {
                     String recordName = String.format("%sname.%d", prefix, i);
@@ -551,8 +551,8 @@ public class AzureDataStoreTest {
     @Test
     public void testBackendAddMetadataRecordNullEmptyNameThrowsIllegalArgumentException() throws DataStoreException, IOException {
         final String data = "testData";
-        for (boolean fromInputStream : Lists.newArrayList(false, true)) {
-            for (String name : Lists.newArrayList(null, "")) {
+        for (boolean fromInputStream : List.of(false, true)) {
+            for (String name : List.of(null, "")) {
                 try {
                     if (fromInputStream) {
                         backend.addMetadataRecord(new ByteArrayInputStream(data.getBytes()), name);
@@ -575,7 +575,7 @@ public class AzureDataStoreTest {
     public void testBackendGetMetadataRecordInvalidName() throws DataStoreException {
         backend.addMetadataRecord(randomStream(0, 10), "testRecord");
         assertNull(backend.getMetadataRecord("invalid"));
-        for (String name : Lists.newArrayList("", null)) {
+        for (String name : List.of("", null)) {
             try {
                 backend.getMetadataRecord(name);
                 fail("Expect to throw");
@@ -630,7 +630,7 @@ public class AzureDataStoreTest {
     @Test
     public void testBackendDeleteMetadataRecord() throws DataStoreException {
         backend.addMetadataRecord(randomStream(0, 10), "name");
-        for (String name : Lists.newArrayList("invalid", "", null)) {
+        for (String name : List.of("invalid", "", null)) {
             if (Strings.isNullOrEmpty(name)) {
                 try {
                     backend.deleteMetadataRecord(name);
@@ -648,7 +648,7 @@ public class AzureDataStoreTest {
     @Test
     public void testBackendMetadataRecordExists() throws DataStoreException {
         backend.addMetadataRecord(randomStream(0, 10), "name");
-        for (String name : Lists.newArrayList("invalid", "", null)) {
+        for (String name : List.of("invalid", "", null)) {
             if (Strings.isNullOrEmpty(name)) {
                 try {
                     backend.metadataRecordExists(name);
diff --git a/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3Backend.java b/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3Backend.java
index 86018db091..37c8a92ba1 100644
--- a/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3Backend.java
+++ b/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3Backend.java
@@ -814,7 +814,7 @@ public class S3Backend extends AbstractSharedBackend {
     }
 
     DataRecordUpload initiateHttpUpload(long maxUploadSizeInBytes, int maxNumberOfURIs) {
-        List<URI> uploadPartURIs = Lists.newArrayList();
+        List<URI> uploadPartURIs = new ArrayList<>();
         long minPartSize = MIN_MULTIPART_UPLOAD_PART_SIZE;
         long maxPartSize = MAX_MULTIPART_UPLOAD_PART_SIZE;
 
@@ -952,7 +952,7 @@ public class S3Backend extends AbstractSharedBackend {
                 String uploadId = uploadToken.getUploadId().get();
                 ListPartsRequest listPartsRequest = new ListPartsRequest(bucket, key, uploadId);
                 PartListing listing = s3service.listParts(listPartsRequest);
-                List<PartETag> eTags = Lists.newArrayList();
+                List<PartETag> eTags = new ArrayList<>();
                 long size = 0L;
                 Date lastModified = null;
                 for (PartSummary partSummary : listing.getParts()) {
@@ -1099,7 +1099,7 @@ public class S3Backend extends AbstractSharedBackend {
                     return false;
                 }
 
-                List<S3ObjectSummary> listing = Lists.newArrayList(
+                List<S3ObjectSummary> listing = List.of(
                     filter(prevObjectListing.getObjectSummaries(),
                             input -> !input.getKey().startsWith(META_KEY_PREFIX)));
 
diff --git a/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/TestS3DataStore.java b/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/TestS3DataStore.java
index dd2c17b2e3..4969767250 100644
--- a/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/TestS3DataStore.java
+++ b/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/TestS3DataStore.java
@@ -175,9 +175,9 @@ public class TestS3DataStore {
         assumeTrue(isS3Configured());
         S3DataStore s3ds = getDataStore();
 
-        for (boolean fromInputStream : Lists.newArrayList(false, true)) {
+        for (boolean fromInputStream : List.of(false, true)) {
             String prefix = String.format("%s.META.", getClass().getSimpleName());
-            for (int count : Lists.newArrayList(1, 3)) {
+            for (int count : List.of(1, 3)) {
                 Map<String, String> records = Maps.newHashMap();
                 for (int i = 0; i < count; i++) {
                     String recordName = String.format("%sname.%d", prefix, i);
@@ -238,8 +238,8 @@ public class TestS3DataStore {
         S3DataStore s3ds = getDataStore();
 
         final String data = "testData";
-        for (boolean fromInputStream : Lists.newArrayList(false, true)) {
-            for (String name : Lists.newArrayList(null, "")) {
+        for (boolean fromInputStream : List.of(false, true)) {
+            for (String name : List.of(null, "")) {
                 try {
                     if (fromInputStream) {
                         s3ds.addMetadataRecord(new ByteArrayInputStream(data.getBytes()), name);
@@ -263,7 +263,7 @@ public class TestS3DataStore {
         S3DataStore s3ds = getDataStore();
 
         s3ds.addMetadataRecord(randomStream(0, 10), "testRecord");
-        for (String name : Lists.newArrayList("", null)) {
+        for (String name : List.of("", null)) {
             try {
                 s3ds.getMetadataRecord(name);
                 fail("Expect to throw");
@@ -323,7 +323,7 @@ public class TestS3DataStore {
         S3DataStore s3ds = getDataStore();
 
         s3ds.addMetadataRecord(randomStream(0, 10), "name");
-        for (String name : Lists.newArrayList("invalid", "", null)) {
+        for (String name : List.of("invalid", "", null)) {
             if (Strings.isNullOrEmpty(name)) {
                 try {
                     s3ds.metadataRecordExists(name);
@@ -345,7 +345,7 @@ public class TestS3DataStore {
         S3DataStore s3ds = getDataStore();
 
         s3ds.addMetadataRecord(randomStream(0, 10), "name");
-        for (String name : Lists.newArrayList("", null)) {
+        for (String name : List.of("", null)) {
             if (Strings.isNullOrEmpty(name)) {
                 try {
                     s3ds.deleteMetadataRecord(name);
diff --git a/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/TestS3Ds.java b/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/TestS3Ds.java
index 58a521cf3a..1525f6d7f0 100644
--- a/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/TestS3Ds.java
+++ b/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/TestS3Ds.java
@@ -122,7 +122,7 @@ public class TestS3Ds extends AbstractDataStoreTest {
         assumeTrue(isS3Configured());
     }
 
-    private static List<String> createdBucketNames = Lists.newArrayList();
+    private static List<String> createdBucketNames = new ArrayList<>();
 
     @Override
     @Before
diff --git a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/ConsolidatedDataStoreCacheStats.java b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/ConsolidatedDataStoreCacheStats.java
index a5a8f51d2b..b038a2986c 100644
--- a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/ConsolidatedDataStoreCacheStats.java
+++ b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/ConsolidatedDataStoreCacheStats.java
@@ -16,11 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.jackrabbit.oak.plugins.blob;
 
 import java.math.BigDecimal;
 import java.math.MathContext;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.TimeUnit;
 
@@ -54,7 +54,6 @@ import org.apache.jackrabbit.oak.spi.whiteboard.Registration;
 import org.apache.jackrabbit.oak.spi.whiteboard.Whiteboard;
 import org.osgi.framework.BundleContext;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
 import static org.apache.jackrabbit.oak.commons.IOUtils.humanReadableByteCount;
 import static org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.registerMBean;
 
@@ -64,9 +63,9 @@ import static org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.registerM
 @Component(service = {})
 public class ConsolidatedDataStoreCacheStats implements ConsolidatedDataStoreCacheStatsMBean {
 
-    private final List<Registration> registrations = newArrayList();
+    private final List<Registration> registrations = new ArrayList<>();
 
-    private final List<DataStoreCacheStatsMBean> cacheStats = newArrayList();
+    private final List<DataStoreCacheStatsMBean> cacheStats = new ArrayList<>();
 
     @Reference public AbstractSharedCachingDataStore cachingDataStore;
 
diff --git a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector.java b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector.java
index f7bf8737e3..578c1efc87 100644
--- a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector.java
+++ b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector.java
@@ -20,7 +20,7 @@ import static java.io.File.createTempFile;
 import static java.util.Comparator.comparing;
 import static java.util.Objects.requireNonNull;
 import static org.apache.commons.io.FileUtils.copyFile;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.oak.commons.FileIOUtils.copy;
 import static org.apache.jackrabbit.oak.commons.FileIOUtils.merge;
 import static org.apache.jackrabbit.oak.commons.FileIOUtils.sort;
@@ -38,6 +38,7 @@ import java.io.LineNumberReader;
 import java.nio.charset.StandardCharsets;
 import java.sql.Timestamp;
 import java.util.ArrayDeque;
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.Iterator;
@@ -257,7 +258,7 @@ public class MarkSweepGarbageCollector implements BlobGarbageCollector {
      */
     @Override
     public List<GarbageCollectionRepoStats> getStats() throws Exception {
-        List<GarbageCollectionRepoStats> stats = newArrayList();
+        List<GarbageCollectionRepoStats> stats = new ArrayList<>();
         if (SharedDataStoreUtils.isShared(blobStore)) {
             // Get all the references available
             List<DataRecord> refFiles =
@@ -521,7 +522,7 @@ public class MarkSweepGarbageCollector implements BlobGarbageCollector {
                 count += ids.size();
                 deleted += BlobCollectionType.get(blobStore)
                     .sweepInternal(blobStore, ids, removesQueue, maxModifiedTime);
-                saveBatchToFile(newArrayList(removesQueue), removesWriter);
+                saveBatchToFile(new ArrayList<>(removesQueue), removesWriter);
 
                 for(String deletedId : removesQueue) {
                     // Estimate the size of the blob
@@ -718,7 +719,7 @@ public class MarkSweepGarbageCollector implements BlobGarbageCollector {
                     copyFile(fs.getMarkedRefs(), temp);
 
                     // List of files to be merged
-                    List<File> files = newArrayList();
+                    List<File> files = new ArrayList<>();
                     files.add(temp);
                     for (DataRecord refFile : refFiles) {
                         File file = copy(refFile.getStream());
@@ -730,7 +731,7 @@ public class MarkSweepGarbageCollector implements BlobGarbageCollector {
 
             // Get size
             getBlobReferencesSize(fs, consistencyStats);
-            
+
             if (!markOnly) {
                 // Find all blobs available in the blob store
                 ListenableFutureTask<Integer> blobIdRetriever = ListenableFutureTask.create(new BlobIdRetriever(fs,
@@ -884,7 +885,7 @@ public class MarkSweepGarbageCollector implements BlobGarbageCollector {
                         SharedDataStoreUtils.refsNotAvailableFromRepos(repoFiles, refFiles);
                 LOG.info("Repositories with unavailable references {}", unAvailRepos);
 
-                Set<String> notOldRefs = Collections.EMPTY_SET;
+                Set<String> notOldRefs = Collections.emptySet();
                 long retentionTime = clock.getTime() - maxLastModifiedInterval;
                 LOG.info("Retention time calculated [{}]", retentionTime);
 
@@ -896,7 +897,7 @@ public class MarkSweepGarbageCollector implements BlobGarbageCollector {
 
                 if (unAvailRepos.isEmpty() && notOldRefs.isEmpty()) {
                     // List of files to be merged
-                    List<File> files = newArrayList();
+                    List<File> files = new ArrayList<>();
                     for (DataRecord refFile : refFiles) {
                         File file = copy(refFile.getStream());
                         files.add(file);
@@ -1057,7 +1058,7 @@ public class MarkSweepGarbageCollector implements BlobGarbageCollector {
             LOG.trace("Blob ids to be deleted {}", ids);
             for (String id : ids) {
                 try {
-                    long deleted = blobStore.countDeleteChunks(newArrayList(id), maxModified);
+                    long deleted = blobStore.countDeleteChunks(List.of(id), maxModified);
                     if (deleted != 1) {
                         LOG.debug("Blob [{}] not deleted", id);
                     } else {
@@ -1153,7 +1154,7 @@ public class MarkSweepGarbageCollector implements BlobGarbageCollector {
                     stats.getCollector().finishFailure();
                     stats.getCollector().updateNumDeleted(candidates);
                 }
-                
+
                 // Update the size of the referenced blobs
                 getBlobReferencesSize(fs, stats);
             } finally {
@@ -1198,7 +1199,7 @@ public class MarkSweepGarbageCollector implements BlobGarbageCollector {
         static final String NUM_BLOBS_DELETED = "NUM_BLOBS_DELETED";
         static final String TOTAL_SIZE_DELETED = "TOTAL_SIZE_DELETED";
         static final String NUM_CANDIDATES = "NUM_CANDIDATES";
-        
+
         static final String NUM_BLOB_REFERENCES = "NUM_BLOB_REFERENCES";
 
         static final String BLOB_REFERENCES_SIZE = "BLOB_REFERENCES_SIZE";
@@ -1266,7 +1267,7 @@ public class MarkSweepGarbageCollector implements BlobGarbageCollector {
                 public void updateBlobReferencesSize(long size) {
                     blobReferencesSizeCounter.inc(size);
                 }
-                
+
                 @Override
                 public void updateDuration(long time, TimeUnit timeUnit) {
                     duration.update(time, timeUnit);
diff --git a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/UploadStagingCache.java b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/UploadStagingCache.java
index 6829413899..bf8bbf6e86 100644
--- a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/UploadStagingCache.java
+++ b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/UploadStagingCache.java
@@ -23,6 +23,7 @@ import java.io.File;
 import java.io.IOException;
 import java.io.UncheckedIOException;
 import java.nio.file.Path;
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
@@ -38,7 +39,6 @@ import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
 import org.apache.jackrabbit.guava.common.cache.Weigher;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.guava.common.io.Files;
 import org.apache.jackrabbit.guava.common.util.concurrent.FutureCallback;
 import org.apache.jackrabbit.guava.common.util.concurrent.Futures;
@@ -550,7 +550,7 @@ public class UploadStagingCache implements Closeable {
         public void run() {
             LOG.debug("Retry job started");
             int count = 0;
-            List<String> entries = Lists.newArrayList();
+            List<String> entries = new ArrayList<>();
             retryQueue.drainTo(entries);
             for (String key : entries) {
                 File file = map.get(key);
diff --git a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/BlobIdTracker.java b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/BlobIdTracker.java
index bba731b6ab..716544a51d 100644
--- a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/BlobIdTracker.java
+++ b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/BlobIdTracker.java
@@ -24,17 +24,19 @@ import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.locks.ReentrantLock;
 import java.util.function.Predicate;
+import java.util.stream.Collectors;
 
 import org.apache.jackrabbit.guava.common.base.Stopwatch;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.guava.common.io.Files;
 import org.apache.jackrabbit.core.data.DataRecord;
+import org.apache.jackrabbit.oak.commons.collections.CollectionUtils;
 import org.apache.jackrabbit.oak.commons.concurrent.ExecutorCloser;
 import org.apache.jackrabbit.oak.commons.io.BurnOnCloseFileIterator;
 import org.apache.jackrabbit.oak.commons.io.FileLineDifferenceIterator;
@@ -45,8 +47,6 @@ import org.jetbrains.annotations.Nullable;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import static org.apache.jackrabbit.guava.common.collect.Iterables.transform;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
 import static org.apache.jackrabbit.guava.common.io.Files.move;
 import static org.apache.jackrabbit.guava.common.io.Files.newWriter;
 import static java.io.File.createTempFile;
@@ -267,7 +267,7 @@ public class BlobIdTracker implements Closeable, BlobTracker {
             Iterable<DataRecord> refRecords = datastore.getAllMetadataRecords(fileNamePrefix);
 
             // Download all the corresponding files for the records
-            List<File> refFiles = newArrayList(transform(refRecords, input -> {
+            List<File> refFiles = CollectionUtils.toStream(refRecords).map(input -> {
                     InputStream inputStream = null;
                     try {
                         inputStream = input.getStream();
@@ -278,7 +278,7 @@ public class BlobIdTracker implements Closeable, BlobTracker {
                         closeQuietly(inputStream);
                     }
                     return null;
-                }));
+                }).collect(Collectors.toList());
             LOG.info("Retrieved all blob id files in [{}]", watch.elapsed(TimeUnit.MILLISECONDS));
 
             // Merge all the downloaded files in to the local store
@@ -394,7 +394,7 @@ public class BlobIdTracker implements Closeable, BlobTracker {
         public void track(File recs) throws IOException {
             lock.lock();
             try {
-                append(Lists.newArrayList(recs), delFile, false);
+                append(List.of(recs), delFile, false);
                 sort(delFile);
             } finally {
                 lock.unlock();
@@ -688,7 +688,7 @@ public class BlobIdTracker implements Closeable, BlobTracker {
             File added = createTempFile("added", null);
             writeStrings(recs, added, false);
             // Merge the file with the references
-            merge(Lists.newArrayList(added), false);
+            merge(new ArrayList<>(List.of(added)), false);
         }
 
         /**
@@ -699,7 +699,7 @@ public class BlobIdTracker implements Closeable, BlobTracker {
          */
         protected void addRecords(File recs) throws IOException {
             // Merge the file with the references
-            merge(Lists.newArrayList(recs), false);
+            merge(new ArrayList<>(List.of(recs)), false);
         }
 
         /**
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 01e1c39242..b3c221863d 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
@@ -31,6 +31,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.SequenceInputStream;
 import java.net.URI;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Iterator;
@@ -79,7 +80,6 @@ import org.slf4j.LoggerFactory;
 
 import org.apache.jackrabbit.guava.common.base.Strings;
 import org.apache.jackrabbit.guava.common.collect.Iterators;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.guava.common.io.ByteStreams;
 import org.apache.jackrabbit.guava.common.io.Closeables;
 
@@ -537,7 +537,7 @@ public class DataStoreBlobStore
         int count = 0;
         if (delegate instanceof MultiDataStoreAware) {
             try {
-                List<String> deleted = Lists.newArrayListWithExpectedSize(512);
+                List<String> deleted = new ArrayList<>(512);
                 for (String chunkId : chunkIds) {
                     long start = System.nanoTime();
 
diff --git a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/AbstractDataStoreCacheTest.java b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/AbstractDataStoreCacheTest.java
index 5385e6ac91..afd7faae46 100644
--- a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/AbstractDataStoreCacheTest.java
+++ b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/AbstractDataStoreCacheTest.java
@@ -29,6 +29,7 @@ import java.io.InputStream;
 import java.io.ObjectOutput;
 import java.io.ObjectOutputStream;
 import java.io.OutputStream;
+import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
@@ -60,7 +61,6 @@ import org.jetbrains.annotations.Nullable;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.guava.common.collect.Maps;
 import org.apache.jackrabbit.guava.common.io.Files;
 
@@ -231,7 +231,7 @@ public class AbstractDataStoreCacheTest {
         public TestExecutor(int threads, CountDownLatch beforeLatch, CountDownLatch afterLatch,
             CountDownLatch afterExecuteLatch) {
             this.delegate = new TestPoolExecutor(threads, beforeLatch, afterExecuteLatch);
-            this.futures = Lists.newArrayList();
+            this.futures = new ArrayList<>();
             this.afterLatch = afterLatch;
         }
 
diff --git a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/BlobGCTest.java b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/BlobGCTest.java
index 22113ca332..1d03dc9192 100644
--- a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/BlobGCTest.java
+++ b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/BlobGCTest.java
@@ -39,6 +39,7 @@ import static org.junit.Assert.assertTrue;
 import java.io.Closeable;
 import java.io.File;
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
@@ -52,7 +53,6 @@ import java.util.concurrent.atomic.AtomicReference;
 
 import ch.qos.logback.classic.Level;
 import org.apache.jackrabbit.guava.common.collect.Iterators;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.guava.common.collect.Sets;
 import org.apache.jackrabbit.guava.common.io.Closer;
 import org.apache.jackrabbit.oak.api.Blob;
@@ -96,7 +96,7 @@ public class BlobGCTest {
 
     @Rule
     public TemporaryFolder folder = new TemporaryFolder(new File("target"));
-    
+
     @Rule
     public ExpectedException expectedEx = ExpectedException.none();
 
@@ -440,7 +440,7 @@ public class BlobGCTest {
         log.info("after setup time {}", afterSetupTime);
 
         cluster.blobStore
-            .countDeleteChunks(Lists.newArrayList(Iterators.getLast(cluster.blobStoreState.blobsPresent.iterator())),
+            .countDeleteChunks(List.of(Iterators.getLast(cluster.blobStoreState.blobsPresent.iterator())),
                 0);
         MarkSweepGarbageCollector collector = cluster.getCollector(0);
         long missing = collector.checkConsistency();
@@ -482,7 +482,7 @@ public class BlobGCTest {
         closer.register(secondCluster);
 
         cluster.blobStore
-            .countDeleteChunks(Lists.newArrayList(Iterators.getLast(cluster.blobStoreState.blobsPresent.iterator())),
+            .countDeleteChunks(List.of(Iterators.getLast(cluster.blobStoreState.blobsPresent.iterator())),
                 0);
 
         // Execute mark on the default cluster
@@ -507,7 +507,7 @@ public class BlobGCTest {
         closer.register(secondCluster);
 
         secondCluster.blobStore
-            .countDeleteChunks(Lists.newArrayList(Iterators.getLast(secondCluster.blobStoreState.blobsPresent.iterator())),
+            .countDeleteChunks(List.of(Iterators.getLast(secondCluster.blobStoreState.blobsPresent.iterator())),
                 0);
 
         // Execute mark on the default cluster
@@ -639,7 +639,7 @@ public class BlobGCTest {
         /* Create and delete nodes with blobs stored in DS*/
         int maxDeleted  = deletions;
         int numBlobs = count;
-        List<Integer> toBeDeleted = Lists.newArrayList();
+        List<Integer> toBeDeleted = new ArrayList<>();
         Random rand = new Random();
         for (int i = 0; i < maxDeleted; i++) {
             int n = rand.nextInt(numBlobs);
diff --git a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/ConsolidatedDataStoreStatsTest.java b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/ConsolidatedDataStoreStatsTest.java
index ca60a551a2..26469b4130 100644
--- a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/ConsolidatedDataStoreStatsTest.java
+++ b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/ConsolidatedDataStoreStatsTest.java
@@ -24,6 +24,7 @@ import java.io.OutputStream;
 import java.nio.charset.StandardCharsets;
 import java.security.DigestOutputStream;
 import java.security.MessageDigest;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
 import java.util.concurrent.CountDownLatch;
@@ -32,7 +33,6 @@ import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.ScheduledFuture;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.guava.common.io.Closer;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.io.output.NullOutputStream;
@@ -233,17 +233,17 @@ public class ConsolidatedDataStoreStatsTest extends AbstractDataStoreCacheTest {
         final String path2 = "path/to/node/2";
         final String path3 = "shortpath";
         final String path4 = "a/very/very/long/path/leads/to/node/4";
-        final List<String> paths = Lists.newArrayList(path1, path2, path3, path4);
+        final List<String> paths = List.of(path1, path2, path3, path4);
         final String leadingSlashPath = "/" + path1;
 
-        final List<String> blobContents = Lists.newArrayList("1", "2", "3", "4");
-        final List<Blob> blobs = Lists.newArrayList(
+        final List<String> blobContents = List.of("1", "2", "3", "4");
+        final List<Blob> blobs = List.of(
             mock(Blob.class),
             mock(Blob.class),
             mock(Blob.class),
             mock(Blob.class)
         );
-        final List<String> blobIds = Lists.newArrayList(
+        final List<String> blobIds = List.of(
             getIdForInputStream(getStream(blobContents.get(0))),
             getIdForInputStream(getStream(blobContents.get(1))),
             getIdForInputStream(getStream(blobContents.get(2))),
@@ -256,7 +256,7 @@ public class ConsolidatedDataStoreStatsTest extends AbstractDataStoreCacheTest {
 
         final NodeBuilder rootBuilder = nodeStore.getRoot().builder();
 
-        final List<NodeBuilder> builders = Lists.newArrayList();
+        final List<NodeBuilder> builders = new ArrayList<>();
         for (final String path : paths) {
             NodeBuilder builder = rootBuilder;
             for (final String nodeName : PathUtils.elements(path)) {
@@ -271,7 +271,7 @@ public class ConsolidatedDataStoreStatsTest extends AbstractDataStoreCacheTest {
 
         nodeStore.merge(rootBuilder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
 
-        final List<DataRecord> records = Lists.newArrayList();
+        final List<DataRecord> records = new ArrayList<>();
         try {
             for (final String s : blobContents) {
                 records.add(dataStore.addRecord(getStream(s)));
@@ -281,13 +281,11 @@ public class ConsolidatedDataStoreStatsTest extends AbstractDataStoreCacheTest {
             callbackLatch.countDown();
             waitFinish();
 
-            for (final String path : Lists
-                .newArrayList(path1, path2, path3, path4, leadingSlashPath)) {
+            for (final String path : List.of(path1, path2, path3, path4, leadingSlashPath)) {
                 assertTrue(stats.isFileSynced(path));
             }
 
-            for (final String invalidPath : Lists
-                .newArrayList(path1 + "/", "/" + path1 + "/", "/path//to/node///1")) {
+            for (final String invalidPath : List.of(path1 + "/", "/" + path1 + "/", "/path//to/node///1")) {
                 try {
                     stats.isFileSynced(invalidPath);
                     assertFalse(false); // shouldn't get here on an invalid path
@@ -343,7 +341,7 @@ public class ConsolidatedDataStoreStatsTest extends AbstractDataStoreCacheTest {
 
     @Test
     public void binaryPropSingle() throws Exception {
-        List<Blob> blobPropList = Lists.newArrayList(mockBlob);
+        List<Blob> blobPropList = List.of(mockBlob);
         NodeStore nodeStore = initNodeStore(Optional.<Blob>empty(),
             Optional.<Blob>empty(),
             Optional.<String>empty(),
@@ -358,7 +356,7 @@ public class ConsolidatedDataStoreStatsTest extends AbstractDataStoreCacheTest {
         Blob mockBlob2 = mock(Blob.class);
         final String id2 = getIdForInputStream(getStream("testContents2"));
         when(mockBlob2.getContentIdentity()).thenReturn(id2);
-        List<Blob> blobPropList = Lists.newArrayList(mockBlob, mockBlob2);
+        List<Blob> blobPropList = List.of(mockBlob, mockBlob2);
         NodeStore nodeStore = initNodeStore(Optional.<Blob>empty(),
             Optional.<Blob>empty(),
             Optional.<String>empty(),
@@ -374,7 +372,7 @@ public class ConsolidatedDataStoreStatsTest extends AbstractDataStoreCacheTest {
         Blob mockBlob2 = mock(Blob.class);
         final String id2 = getIdForInputStream(getStream("testContents2"));
         when(mockBlob2.getContentIdentity()).thenReturn(id2);
-        List<Blob> blobPropList = Lists.newArrayList(mockBlob, mockBlob2);
+        List<Blob> blobPropList = List.of(mockBlob, mockBlob2);
         NodeStore nodeStore = initNodeStore(Optional.<Blob>empty(),
             Optional.<Blob>empty(),
             Optional.<String>empty(),
@@ -392,7 +390,7 @@ public class ConsolidatedDataStoreStatsTest extends AbstractDataStoreCacheTest {
         Blob mockBlob3 = mock(Blob.class);
         final String id3 = getIdForInputStream(getStream("testContents3"));
         when(mockBlob2.getContentIdentity()).thenReturn(id3);
-        List<Blob> blobPropList = Lists.newArrayList(mockBlob2, mockBlob3);
+        List<Blob> blobPropList = List.of(mockBlob2, mockBlob3);
         NodeStore nodeStore = initNodeStore(Optional.of(mockBlob),
             Optional.<Blob>empty(),
             Optional.<String>empty(),
@@ -411,7 +409,7 @@ public class ConsolidatedDataStoreStatsTest extends AbstractDataStoreCacheTest {
         Blob mockBlob3 = mock(Blob.class);
         final String id3 = getIdForInputStream(getStream("testContents3"));
         when(mockBlob2.getContentIdentity()).thenReturn(id3);
-        List<Blob> blobPropList = Lists.newArrayList(mockBlob2, mockBlob3);
+        List<Blob> blobPropList = List.of(mockBlob2, mockBlob3);
         NodeStore nodeStore = initNodeStore(Optional.of(mockBlob),
             Optional.<Blob>empty(),
             Optional.<String>empty(),
@@ -429,7 +427,7 @@ public class ConsolidatedDataStoreStatsTest extends AbstractDataStoreCacheTest {
         Blob mockBlob3 = mock(Blob.class);
         final String id3 = getIdForInputStream(getStream("testContents3"));
         when(mockBlob3.getContentIdentity()).thenReturn(id3);
-        List<Blob> blobPropList = Lists.newArrayList(mockBlob2, mockBlob3);
+        List<Blob> blobPropList = List.of(mockBlob2, mockBlob3);
         NodeStore nodeStore = initNodeStore(Optional.of(mockBlob),
             Optional.<Blob>empty(),
             Optional.<String>empty(),
@@ -452,7 +450,7 @@ public class ConsolidatedDataStoreStatsTest extends AbstractDataStoreCacheTest {
     private void assertSyncedFalse(ConsolidatedDataStoreCacheStats mBean,
         AbstractSharedCachingDataStore s3ds, InputStream... streams) throws DataStoreException {
 
-        List<DataRecord> recs = Lists.newArrayList();
+        List<DataRecord> recs = new ArrayList<>();
         try {
             for (InputStream is : streams) {
                 recs.add(s3ds.addRecord(is));
@@ -472,7 +470,7 @@ public class ConsolidatedDataStoreStatsTest extends AbstractDataStoreCacheTest {
         taskLatch.countDown();
         callbackLatch.countDown();
 
-        List<DataRecord> recs = Lists.newArrayList();
+        List<DataRecord> recs = new ArrayList<>();
         try {
             for (InputStream is : streams) {
                 recs.add(s3ds.addRecord(is));
diff --git a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/SharedDataStoreUtilsTest.java b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/SharedDataStoreUtilsTest.java
index 91d2496329..d7f1defbf4 100644
--- a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/SharedDataStoreUtilsTest.java
+++ b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/SharedDataStoreUtilsTest.java
@@ -23,6 +23,7 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
@@ -33,7 +34,6 @@ import java.util.UUID;
 import java.util.concurrent.TimeUnit;
 
 import org.apache.jackrabbit.guava.common.collect.Iterables;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.guava.common.collect.Maps;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.IOUtils;
@@ -95,7 +95,7 @@ public class SharedDataStoreUtilsTest {
                repoId1);
         long lastModifiedMarkerRec1 = markerRec1.getLastModified();
         TimeUnit.MILLISECONDS.sleep(100);
-        
+
         // Add reference records
         dataStore.addMetadataRecord(new ByteArrayInputStream(new byte[0]),
             SharedStoreRecordType.REFERENCES.getNameFromId(repoId1));
@@ -130,22 +130,22 @@ public class SharedDataStoreUtilsTest {
                SharedDataStoreUtils.getEarliestRecord(
                         dataStore.getAllMetadataRecords(SharedStoreRecordType.REFERENCES.getType())).getLastModified(), 
                         minRefTime);
-        
+
         // the marker timestamp should be the minimum
         long minMarkerTime = 
             SharedDataStoreUtils.getEarliestRecord(
                     dataStore.getAllMetadataRecords(SharedStoreRecordType.MARKED_START_MARKER.getType()))
                         .getLastModified();
         Assert.assertTrue(minRefTime >= minMarkerTime);
-        
+
         // Delete references and check back if deleted
         dataStore.deleteAllMetadataRecords(SharedStoreRecordType.REFERENCES.getType());
         Assert.assertTrue(dataStore.getAllMetadataRecords(SharedStoreRecordType.REFERENCES.getType()).isEmpty());
-        
+
         // Delete markers and check back if deleted
         dataStore.deleteAllMetadataRecords(SharedStoreRecordType.MARKED_START_MARKER.getType());
         Assert.assertTrue(dataStore.getAllMetadataRecords(SharedStoreRecordType.MARKED_START_MARKER.getType()).isEmpty());
-    
+
         // Repository ids should still be available
         assertEquals(2,
             dataStore.getAllMetadataRecords(SharedStoreRecordType.REPOSITORY.getType()).size());
@@ -433,8 +433,8 @@ public class SharedDataStoreUtilsTest {
     }
 
     class Data {
-        List<String> suffixes = Lists.newArrayList();
-        List<String> repoIds = Lists.newArrayList();
+        List<String> suffixes = new ArrayList<>();
+        List<String> repoIds = new ArrayList<>();
         Set<String> refs = new HashSet<>();
     }
 
diff --git a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/TimeLapsedDataStore.java b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/TimeLapsedDataStore.java
index 907d78ded1..f8c8c2ff32 100644
--- a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/TimeLapsedDataStore.java
+++ b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/TimeLapsedDataStore.java
@@ -27,6 +27,7 @@ import java.io.OutputStream;
 import java.net.URI;
 import java.security.DigestOutputStream;
 import java.security.MessageDigest;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Iterator;
@@ -38,7 +39,6 @@ import java.util.UUID;
 import javax.jcr.RepositoryException;
 
 import org.apache.jackrabbit.guava.common.collect.Iterators;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.guava.common.collect.Maps;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.io.output.NullOutputStream;
@@ -154,7 +154,7 @@ public class TimeLapsedDataStore implements DataStore, MultiDataStoreAware, Shar
     }
 
     @Override public List<DataRecord> getAllMetadataRecords(String prefix) {
-        List<DataRecord> recs = Lists.newArrayList();
+        List<DataRecord> recs = new ArrayList<>();
         Iterator<Map.Entry<String, DataRecord>> iter = metadata.entrySet().iterator();
         while (iter.hasNext()) {
             Map.Entry<String, DataRecord> entry = iter.next();
@@ -174,7 +174,7 @@ public class TimeLapsedDataStore implements DataStore, MultiDataStoreAware, Shar
     }
 
     @Override public void deleteAllMetadataRecords(String prefix) {
-        List<String> recs = Lists.newArrayList();
+        List<String> recs = new ArrayList<>();
         Iterator<Map.Entry<String, DataRecord>> iter = metadata.entrySet().iterator();
         while (iter.hasNext()) {
             Map.Entry<String, DataRecord> entry = iter.next();
diff --git a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/UploadStagingCacheTest.java b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/UploadStagingCacheTest.java
index 8b79893653..547d6115ad 100644
--- a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/UploadStagingCacheTest.java
+++ b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/UploadStagingCacheTest.java
@@ -23,6 +23,7 @@ import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
@@ -38,7 +39,6 @@ import java.util.concurrent.atomic.AtomicInteger;
 import ch.qos.logback.classic.Level;
 
 import org.apache.jackrabbit.guava.common.collect.Iterators;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.guava.common.collect.Maps;
 import org.apache.jackrabbit.guava.common.io.Closeables;
 import org.apache.jackrabbit.guava.common.io.Closer;
@@ -337,7 +337,7 @@ public class UploadStagingCacheTest extends AbstractDataStoreCacheTest {
 
         // Try 2nd upload again
         Optional<SettableFuture<Integer>> future = stagingCache.put(ID_PREFIX + 1, f2);
-        futures = Lists.newArrayList();
+        futures = new ArrayList<>();
         if (future.isPresent()) {
             futures.add(future.get());
         }
@@ -435,7 +435,7 @@ public class UploadStagingCacheTest extends AbstractDataStoreCacheTest {
         ListeningExecutorService executorService =
             MoreExecutors.listeningDecorator(Executors.newFixedThreadPool(2));
 
-        List<ListenableFuture<Integer>> futures = Lists.newArrayList();
+        List<ListenableFuture<Integer>> futures = new ArrayList<>();
         CountDownLatch moveLatch = new CountDownLatch(1);
         init(1, new TestStagingUploader(folder.newFolder(), moveLatch), null);
 
@@ -814,7 +814,7 @@ public class UploadStagingCacheTest extends AbstractDataStoreCacheTest {
         throws IOException {
         File f = copyToFile(randomStream(0, 4 * 1024), folder.newFile());
         Optional<SettableFuture<Integer>> future = stagingCache.put(ID_PREFIX + 0, f);
-        List<ListenableFuture<Integer>> futures = Lists.newArrayList();
+        List<ListenableFuture<Integer>> futures = new ArrayList<>();
         if (future.isPresent()) {
             futures.add(future.get());
         }
diff --git a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/ActiveDeletionTrackerStoreTest.java b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/ActiveDeletionTrackerStoreTest.java
index f1afa80d5f..81e615e22f 100644
--- a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/ActiveDeletionTrackerStoreTest.java
+++ b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/ActiveDeletionTrackerStoreTest.java
@@ -21,6 +21,7 @@ package org.apache.jackrabbit.oak.plugins.blob.datastore;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.HashSet;
@@ -29,7 +30,6 @@ import java.util.List;
 import java.util.Set;
 
 import org.apache.jackrabbit.guava.common.base.Strings;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.oak.commons.FileIOUtils;
 import org.apache.jackrabbit.oak.commons.collections.CollectionUtils;
 import org.apache.jackrabbit.oak.plugins.blob.SharedDataStore;
@@ -43,10 +43,10 @@ import org.junit.rules.TemporaryFolder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
 import static java.lang.String.valueOf;
 import static java.util.UUID.randomUUID;
 import static org.apache.jackrabbit.oak.commons.FileIOUtils.readStringsAsSet;
+import static org.apache.jackrabbit.oak.commons.collections.CollectionUtils.toList;
 import static org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreUtils.getBlobStore;
 import static org.hamcrest.CoreMatchers.instanceOf;
 import static org.junit.Assert.assertEquals;
@@ -118,7 +118,7 @@ public class ActiveDeletionTrackerStoreTest {
         File toFilter = create(range(7, 10), folder);
         Iterator<String> filtered = tracker.filter(toFilter);
 
-        assertTrue("More elements after filtering", Lists.newArrayList(filtered).isEmpty());
+        assertTrue("More elements after filtering", toList(filtered).isEmpty());
     }
 
     @Test
@@ -128,7 +128,7 @@ public class ActiveDeletionTrackerStoreTest {
         File toFilterFile = create(toFilter, folder);
         Iterator<String> filtered = tracker.filter(toFilterFile);
 
-        assertEquals("Incorrect elements after filtering", range(0, 4), Lists.newArrayList(filtered));
+        assertEquals("Incorrect elements after filtering", range(0, 4), toList(filtered));
     }
 
     @Test
@@ -139,13 +139,13 @@ public class ActiveDeletionTrackerStoreTest {
         Iterator<String> filtered = tracker.filter(toFilterFile);
 
         assertEquals("Incorrect elements after filtering",
-            range(0, 4), Lists.newArrayList(filtered));
+            range(0, 4), toList(filtered));
     }
 
     @Test
     public void reconcileAll() throws Exception {
         Set<String> initAdd = add(tracker, range(0, 20), folder);
-        List<String> toReconcile = Lists.newArrayList();
+        List<String> toReconcile = new ArrayList<>();
 
         File toFilter = create(toReconcile, folder);
 
@@ -223,7 +223,7 @@ public class ActiveDeletionTrackerStoreTest {
     }
 
     private static List<String> range(int min, int max) {
-        List<String> list = newArrayList();
+        List<String> list = new ArrayList<>();
         for (int i = min; i <= max; i++) {
             list.add(Strings.padStart(valueOf(i), 2, '0'));
         }
diff --git a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/BlobIdTrackerClusterSharedTest.java b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/BlobIdTrackerClusterSharedTest.java
index 526d0c622b..28bc17d3af 100644
--- a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/BlobIdTrackerClusterSharedTest.java
+++ b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/BlobIdTrackerClusterSharedTest.java
@@ -21,6 +21,7 @@ package org.apache.jackrabbit.oak.plugins.blob.datastore;
 import java.io.Closeable;
 import java.io.File;
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
@@ -40,8 +41,6 @@ import org.junit.rules.TemporaryFolder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
 import static org.apache.jackrabbit.guava.common.io.Closeables.close;
 import static java.lang.String.valueOf;
 import static java.util.UUID.randomUUID;
@@ -242,7 +241,7 @@ public class BlobIdTrackerClusterSharedTest {
     }
 
     private static List<String> range(int min, int max) {
-        List<String> list = newArrayList();
+        List<String> list = new ArrayList<>();
         for (int i = min; i <= max; i++) {
             list.add(valueOf(i));
         }
diff --git a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/BlobIdTrackerStoreTest.java b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/BlobIdTrackerStoreTest.java
index f97a8825b9..de2231f7ff 100644
--- a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/BlobIdTrackerStoreTest.java
+++ b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/BlobIdTrackerStoreTest.java
@@ -22,6 +22,7 @@ import java.io.Closeable;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
@@ -39,7 +40,7 @@ import org.junit.rules.TemporaryFolder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.guava.common.collect.Sets.symmetricDifference;
 import static java.lang.String.valueOf;
 import static java.util.UUID.randomUUID;
@@ -420,7 +421,7 @@ public class BlobIdTrackerStoreTest {
     }
 
     private static List<String> range(int min, int max) {
-        List<String> list = newArrayList();
+        List<String> list = new ArrayList<>();
         for (int i = min; i <= max; i++) {
             list.add(valueOf(i));
         }
diff --git a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/BlobIdTrackerTest.java b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/BlobIdTrackerTest.java
index e4d77bf3b2..7294637643 100644
--- a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/BlobIdTrackerTest.java
+++ b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/BlobIdTrackerTest.java
@@ -22,6 +22,7 @@ import java.io.Closeable;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
@@ -48,7 +49,6 @@ import org.junit.rules.TemporaryFolder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
 import static java.lang.String.valueOf;
 import static java.util.UUID.randomUUID;
 import static java.util.concurrent.Executors.newSingleThreadScheduledExecutor;
@@ -308,7 +308,7 @@ public class BlobIdTrackerTest {
     }
 
     private static List<String> range(int min, int max) {
-        List<String> list = newArrayList();
+        List<String> list = new ArrayList<>();
         for (int i = min; i <= max; i++) {
             list.add(valueOf(i));
         }
diff --git a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStoreStatsTest.java b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStoreStatsTest.java
index f27005994b..2e6b5d6a94 100644
--- a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStoreStatsTest.java
+++ b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStoreStatsTest.java
@@ -481,7 +481,7 @@ public class DataStoreBlobStoreStatsTest {
     public void testDSBSDeleteRecordStats() throws Exception {
         DataStoreBlobStore dsbs = setupDSBS(getDSBuilder().withDeleteDelay(1010));
         DataRecord record = dsbs.addRecord(getTestInputStream());
-        List<String> chunkIds = Lists.newArrayList(record.getIdentifier().toString());
+        List<String> chunkIds = List.of(record.getIdentifier().toString());
         long modifiedBefore = tomorrow();
 
         long deleteCount = stats.getDeleteCount();
@@ -504,7 +504,7 @@ public class DataStoreBlobStoreStatsTest {
     public void testDSBSDeleteRecordErrorStats() throws Exception {
         DataStoreBlobStore dsbs = setupDSBS(getDSBuilder().withErrorOnDeleteRecord());
         DataRecord record = dsbs.addRecord(getTestInputStream());
-        List<String> chunkIds = Lists.newArrayList(record.getIdentifier().toString());
+        List<String> chunkIds = List.of(record.getIdentifier().toString());
         long modifiedBefore = tomorrow();
 
         long deleteErrorCount = stats.getDeleteErrorCount();
diff --git a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStoreTest.java b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStoreTest.java
index 258f85a089..ada9a4540d 100644
--- a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStoreTest.java
+++ b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStoreTest.java
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.jackrabbit.oak.plugins.blob.datastore;
 
 import java.io.ByteArrayInputStream;
@@ -28,10 +27,9 @@ import java.util.List;
 import java.util.Random;
 import java.util.Set;
 import java.util.UUID;
+import java.util.stream.Collectors;
 
 import org.apache.jackrabbit.guava.common.collect.ImmutableList;
-import org.apache.jackrabbit.guava.common.collect.Iterables;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.IOUtils;
 import org.apache.jackrabbit.core.data.DataIdentifier;
@@ -171,8 +169,7 @@ public class DataStoreBlobStoreTest extends AbstractBlobStoreTest {
         DataIdentifier d20 = new DataIdentifier("d-20");
         DataIdentifier d30 = new DataIdentifier("d-30");
         List<DataIdentifier> dis = ImmutableList.of(d10, d20, d30);
-        List<DataRecord> recs = Lists.newArrayList(
-            Iterables.transform(dis, input -> new TimeDataRecord(input)));
+        List<DataRecord> recs = dis.stream().map(input -> new TimeDataRecord(input)).collect(Collectors.toList());
         OakFileDataStore mockedDS = mock(OakFileDataStore.class);
         when(mockedDS.getAllRecords()).thenReturn(recs.iterator());
         when(mockedDS.getRecord(new DataIdentifier("d-10"))).thenReturn(new TimeDataRecord(d10));
diff --git a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/FSBackendIT.java b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/FSBackendIT.java
index f792a44c39..a5aaf87fb9 100644
--- a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/FSBackendIT.java
+++ b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/FSBackendIT.java
@@ -21,6 +21,7 @@ package org.apache.jackrabbit.oak.plugins.blob.datastore;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.Properties;
@@ -28,7 +29,6 @@ import java.util.Random;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.Executors;
 
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.guava.common.collect.Maps;
 import org.apache.jackrabbit.guava.common.util.concurrent.Futures;
 import org.apache.jackrabbit.guava.common.util.concurrent.ListenableFuture;
@@ -45,7 +45,6 @@ import org.apache.jackrabbit.oak.commons.PropertiesUtil;
 import org.apache.jackrabbit.oak.commons.concurrent.ExecutorCloser;
 import org.junit.After;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
@@ -198,7 +197,7 @@ public class FSBackendIT {
      * Method to assert record while writing and deleting record from FSBackend
      */
     void doTest(DataStore ds, int concurrency, boolean same) throws Exception {
-        List<ListenableFuture<Integer>> futures = Lists.newArrayList();
+        List<ListenableFuture<Integer>> futures = new ArrayList<>();
         CountDownLatch latch = new CountDownLatch(concurrency);
 
         int seed = 0;
diff --git a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/SharedDataStoreTest.java b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/SharedDataStoreTest.java
index e9e14aef13..4de9818968 100644
--- a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/SharedDataStoreTest.java
+++ b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/SharedDataStoreTest.java
@@ -33,7 +33,6 @@ import java.util.Set;
 
 import org.apache.jackrabbit.guava.common.base.Strings;
 import org.apache.jackrabbit.guava.common.collect.Iterators;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.guava.common.collect.Maps;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.FilenameUtils;
@@ -86,7 +85,7 @@ public class SharedDataStoreTest {
         }
 
         static List<Object[]> get() {
-            return Lists.newArrayList(new Object[] {CACHING_FDS}, new Object[] {FDS});
+            return List.of(new Object[] {CACHING_FDS}, new Object[] {FDS});
         }
     }
 
@@ -157,9 +156,9 @@ public class SharedDataStoreTest {
     public void testBackendAddMetadataRecordsFromInputStream() throws Exception {
         SharedDataStore fds = dataStore;
 
-        for (boolean fromInputStream : Lists.newArrayList(false, true)) {
+        for (boolean fromInputStream : List.of(false, true)) {
             String prefix = String.format("%s.META.", getClass().getSimpleName());
-            for (int count : Lists.newArrayList(1, 3)) {
+            for (int count : List.of(1, 3)) {
                 Map<String, String> records = Maps.newHashMap();
                 for (int i = 0; i < count; i++) {
                     String recordName = String.format("%sname.%d", prefix, i);
@@ -230,8 +229,8 @@ public class SharedDataStoreTest {
         SharedDataStore fds = dataStore;
 
         final String data = "testData";
-        for (boolean fromInputStream : Lists.newArrayList(false, true)) {
-            for (String name : Lists.newArrayList(null, "")) {
+        for (boolean fromInputStream : List.of(false, true)) {
+            for (String name : new String[] { null, "" }) {
                 try {
                     if (fromInputStream) {
                         fds.addMetadataRecord(new ByteArrayInputStream(data.getBytes()), name);
@@ -256,7 +255,7 @@ public class SharedDataStoreTest {
 
         fds.addMetadataRecord(randomStream(0, 10), "testRecord");
         assertNull(fds.getMetadataRecord("invalid"));
-        for (String name : Lists.newArrayList("", null)) {
+        for (String name : new String[] { "", null }) {
             try {
                 fds.getMetadataRecord(name);
                 fail("Expect to throw");
@@ -311,7 +310,7 @@ public class SharedDataStoreTest {
         SharedDataStore fds = dataStore;
 
         fds.addMetadataRecord(randomStream(0, 10), "name");
-        for (String name : Lists.newArrayList("", null)) {
+        for (String name : new String[] { "", null }) {
             if (Strings.isNullOrEmpty(name)) {
                 try {
                     fds.deleteMetadataRecord(name);
@@ -385,7 +384,7 @@ public class SharedDataStoreTest {
         SharedDataStore fds = dataStore;
 
         fds.addMetadataRecord(randomStream(0, 10), "name");
-        for (String name : Lists.newArrayList("invalid", "", null)) {
+        for (String name : new String[] { "invalid", "", null }) {
             if (Strings.isNullOrEmpty(name)) {
                 try {
                     fds.metadataRecordExists(name);
diff --git a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/directaccess/AbstractDataRecordAccessProviderIT.java b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/directaccess/AbstractDataRecordAccessProviderIT.java
index 9c41defb2a..e9487ee3e2 100644
--- a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/directaccess/AbstractDataRecordAccessProviderIT.java
+++ b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/directaccess/AbstractDataRecordAccessProviderIT.java
@@ -23,10 +23,10 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.net.URI;
 import java.util.Arrays;
+import java.util.List;
 
 import javax.net.ssl.HttpsURLConnection;
 
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.commons.io.IOUtils;
 import org.apache.jackrabbit.core.data.DataIdentifier;
 import org.apache.jackrabbit.core.data.DataRecord;
@@ -62,7 +62,7 @@ public abstract class AbstractDataRecordAccessProviderIT {
         // Execute this test from the command line like this:
         //   mvn test -Dtest=<child-class-name> -Dtest.opts.memory=-Xmx2G
         DataRecordAccessProvider ds = getDataStore();
-        for (AbstractDataRecordAccessProviderTest.InitUploadResult res : Lists.newArrayList(
+        for (AbstractDataRecordAccessProviderTest.InitUploadResult res : List.of(
             new AbstractDataRecordAccessProviderTest.InitUploadResult() {
                 @Override public long getUploadSize() { return TWENTY_MB; }
                 @Override public int getMaxNumURIs() { return 10; }
diff --git a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/directaccess/AbstractDataRecordAccessProviderTest.java b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/directaccess/AbstractDataRecordAccessProviderTest.java
index da6d040af4..2ef772bf71 100644
--- a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/directaccess/AbstractDataRecordAccessProviderTest.java
+++ b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/directaccess/AbstractDataRecordAccessProviderTest.java
@@ -182,21 +182,21 @@ public abstract class AbstractDataRecordAccessProviderTest {
                 StandardCharsets.ISO_8859_1.encode(umlautFilename).array(),
                 StandardCharsets.ISO_8859_1
         );
-        List<String> fileNames = Lists.newArrayList(
+        List<String> fileNames = List.of(
                 "image.png",
                 "beautiful landscape.png",
                 "\"filename-with-double-quotes\".png",
                 "filename-with-one\"double-quote.jpg",
                 umlautFilename
                 );
-        List<String> iso_8859_1_fileNames = Lists.newArrayList(
+        List<String> iso_8859_1_fileNames = List.of(
                 "image.png",
                 "beautiful landscape.png",
                 "\\\"filename-with-double-quotes\\\".png",
                 "filename-with-one\\\"double-quote.jpg",
                 umlautFilename_ISO_8859_1
         );
-        List<String> rfc8187_fileNames = Lists.newArrayList(
+        List<String> rfc8187_fileNames = List.of(
                 "image.png",
                 "beautiful%20landscape.png",
                 "%22filename-with-double-quotes%22.png",
@@ -374,7 +374,7 @@ public abstract class AbstractDataRecordAccessProviderTest {
     @Test
     public void testInititateDirectUploadURIListSizes() throws DataRecordUploadException {
         DataRecordAccessProvider ds = getDataStore();
-        for (InitUploadResult res : Lists.newArrayList(
+        for (InitUploadResult res : List.of(
                 // 20MB upload and 10 URIs requested => should result in 2 URIs (10MB each)
                 new InitUploadResult() {
                     @Override public long getUploadSize() { return TWENTY_MB; }
@@ -496,7 +496,7 @@ public abstract class AbstractDataRecordAccessProviderTest {
 
     @Test
     public void testCompleteDirectUploadRequiresValidToken() throws DataRecordUploadException, DataStoreException {
-        for (String token : Lists.newArrayList("", "abc", "abc#123")) {
+        for (String token : List.of("", "abc", "abc#123")) {
             try {
                 getDataStore().completeDataRecordUpload(token);
                 fail();
@@ -562,7 +562,7 @@ public abstract class AbstractDataRecordAccessProviderTest {
     @Test
     public void testSinglePutDirectUploadIT() throws DataRecordUploadException, DataStoreException, IOException {
         DataRecordAccessProvider ds = getDataStore();
-        for (InitUploadResult res : Lists.newArrayList(
+        for (InitUploadResult res : List.of(
                 new InitUploadResult() {
                     @Override public long getUploadSize() { return ONE_MB; }
                     @Override public int getMaxNumURIs() { return 10; }
diff --git a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/directaccess/DataRecordDownloadOptionsTest.java b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/directaccess/DataRecordDownloadOptionsTest.java
index de0e9f590f..c9f09523d6 100644
--- a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/directaccess/DataRecordDownloadOptionsTest.java
+++ b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/directaccess/DataRecordDownloadOptionsTest.java
@@ -183,8 +183,8 @@ public class DataRecordDownloadOptionsTest {
 
     @Test
     public void testGetContentTypeHeader() {
-        for (String mediaType : Lists.newArrayList(MEDIA_TYPE_TEXT_PLAIN, MEDIA_TYPE_IMAGE_PNG)) {
-            for (String characterEncoding : Lists.newArrayList(CHARACTER_ENCODING_UTF_8, CHARACTER_ENCODING_ISO_8859_1)) {
+        for (String mediaType : List.of(MEDIA_TYPE_TEXT_PLAIN, MEDIA_TYPE_IMAGE_PNG)) {
+            for (String characterEncoding : List.of(CHARACTER_ENCODING_UTF_8, CHARACTER_ENCODING_ISO_8859_1)) {
                 verifyContentTypeHeader(
                         getOptions(mediaType, characterEncoding, null, null),
                         getContentTypeHeader(mediaType, characterEncoding)
@@ -219,8 +219,8 @@ public class DataRecordDownloadOptionsTest {
 
     @Test
     public void testGetContentDisposition() {
-        for (String fileName : Lists.newArrayList(FILE_NAME_IMAGE, FILE_NAME_TEXT)) {
-            for (String dispositionType : Lists.newArrayList(DISPOSITION_TYPE_INLINE, DISPOSITION_TYPE_ATTACHMENT)) {
+        for (String fileName : List.of(FILE_NAME_IMAGE, FILE_NAME_TEXT)) {
+            for (String dispositionType : List.of(DISPOSITION_TYPE_INLINE, DISPOSITION_TYPE_ATTACHMENT)) {
                 verifyContentDispositionHeader(
                         getOptions(null, null, fileName, dispositionType),
                         getContentDispositionHeader(fileName,
@@ -267,7 +267,7 @@ public class DataRecordDownloadOptionsTest {
                 StandardCharsets.ISO_8859_1.encode(umlautFilename).array(),
                 StandardCharsets.ISO_8859_1
         );
-        List<String> filenames = Lists.newArrayList(
+        List<String> filenames = List.of(
                 "image.png",
                 "text.txt",
                 "filename with spaces.jpg",
@@ -275,7 +275,7 @@ public class DataRecordDownloadOptionsTest {
                 "filename-with-one\"double-quote.jpg",
                 umlautFilename
         );
-        List<String> iso_8859_1_filenames = Lists.newArrayList(
+        List<String> iso_8859_1_filenames = List.of(
                 "image.png",
                 "text.txt",
                 "filename with spaces.jpg",
@@ -283,7 +283,7 @@ public class DataRecordDownloadOptionsTest {
                 "filename-with-one\\\"double-quote.jpg",
                 umlautFilename_ISO_8859_1
         );
-        List<String> rfc8187_filenames = Lists.newArrayList(
+        List<String> rfc8187_filenames = List.of(
                 "image.png",
                 "text.txt",
                 "filename%20with%20spaces.jpg",
@@ -292,7 +292,7 @@ public class DataRecordDownloadOptionsTest {
                 "Uml%C3%A4utfile.jpg"
         );
 
-        for (String dispositionType : Lists.newArrayList(DISPOSITION_TYPE_INLINE, DISPOSITION_TYPE_ATTACHMENT)) {
+        for (String dispositionType : List.of(DISPOSITION_TYPE_INLINE, DISPOSITION_TYPE_ATTACHMENT)) {
             for (int i=0; i<filenames.size(); i++) {
                 String fileName = filenames.get(i);
                 String iso_8859_1_fileName = iso_8859_1_filenames.get(i);
diff --git a/oak-blob/src/test/java/org/apache/jackrabbit/oak/spi/blob/AbstractBlobStoreTest.java b/oak-blob/src/test/java/org/apache/jackrabbit/oak/spi/blob/AbstractBlobStoreTest.java
index 2cffb97501..ed3b60c20c 100644
--- a/oak-blob/src/test/java/org/apache/jackrabbit/oak/spi/blob/AbstractBlobStoreTest.java
+++ b/oak-blob/src/test/java/org/apache/jackrabbit/oak/spi/blob/AbstractBlobStoreTest.java
@@ -50,8 +50,6 @@ import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 
-import org.apache.jackrabbit.guava.common.collect.Lists;
-
 /**
  * Tests a BlobStore implementation.
  */
@@ -418,7 +416,7 @@ public abstract class AbstractBlobStoreTest {
     public void delete() throws Exception {
         Set<String> ids = createArtifacts();
 
-        store.deleteChunks(Lists.newArrayList(ids), 0);
+        store.deleteChunks(new ArrayList<>(ids), 0);
 
         Iterator<String> iter = store.getAllChunkIds(0);
         Set<String> ret = new HashSet<>();
@@ -428,12 +426,12 @@ public abstract class AbstractBlobStoreTest {
 
         assertTrue(ret.toString(), ret.isEmpty());
     }
-    
+
     @Test
     public void deleteCount() throws Exception {
         Set<String> ids = createArtifacts();
 
-        long count = store.countDeleteChunks(Lists.newArrayList(ids), 0);
+        long count = store.countDeleteChunks(new ArrayList<>(ids), 0);
 
         Iterator<String> iter = store.getAllChunkIds(0);
         Set<String> ret = new HashSet<>();
@@ -463,7 +461,7 @@ public abstract class AbstractBlobStoreTest {
         while (iter.hasNext()) {
             chunks.add(iter.next());
         }
-        long count = store.countDeleteChunks(Lists.newArrayList(chunks), beforeUpdateTime);
+        long count = store.countDeleteChunks(new ArrayList<>(chunks), beforeUpdateTime);
         assertEquals("Deleted updated blobs", 0, count);
     }
 
diff --git a/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FileIOUtilsTest.java b/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FileIOUtilsTest.java
index 072a74dfe0..9e9d3fa4fc 100644
--- a/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FileIOUtilsTest.java
+++ b/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FileIOUtilsTest.java
@@ -19,7 +19,7 @@
 package org.apache.jackrabbit.oak.commons;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.guava.common.collect.Sets.union;
 import static org.apache.jackrabbit.oak.commons.FileIOUtils.append;
 import static org.apache.jackrabbit.oak.commons.FileIOUtils.copy;
@@ -49,6 +49,7 @@ import java.nio.CharBuffer;
 import java.nio.charset.CharacterCodingException;
 import java.nio.charset.Charset;
 import java.nio.charset.CharsetEncoder;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.Comparator;
@@ -146,7 +147,7 @@ public class FileIOUtilsTest {
 
     @Test
     public void sortTest() throws IOException {
-        List<String> list = newArrayList("a", "z", "e", "b");
+        List<String> list = new ArrayList<>(List.of("a", "z", "e", "b"));
         File f = assertWrite(list.iterator(), false, list.size());
 
         sort(f);
@@ -154,7 +155,7 @@ public class FileIOUtilsTest {
         BufferedReader reader =
             new BufferedReader(new InputStreamReader(new FileInputStream(f), UTF_8));
         String line;
-        List<String> retrieved = newArrayList();
+        List<String> retrieved = new ArrayList<>();
         while ((line = reader.readLine()) != null) {
             retrieved.add(line);
         }
@@ -173,7 +174,7 @@ public class FileIOUtilsTest {
         BufferedReader reader =
             new BufferedReader(new InputStreamReader(new FileInputStream(f), UTF_8));
         String line;
-        List<String> retrieved = newArrayList();
+        List<String> retrieved = new ArrayList<>();
         while ((line = reader.readLine()) != null) {
             retrieved.add(unescapeLineBreaks(line));
         }
@@ -181,7 +182,7 @@ public class FileIOUtilsTest {
         Collections.sort(list);
         assertArrayEquals(Arrays.toString(list.toArray()), list.toArray(), retrieved.toArray());
     }
-    
+
     @Test
     public void sortLargeFileWithCustomComparatorTest() throws IOException {
         final int numEntries = 100000;      // must be large enough to trigger split/merge functionality of the sort
@@ -238,7 +239,7 @@ public class FileIOUtilsTest {
         Set<String> added3 = Set.of("t", "y", "8", "9");
         File f3 = assertWrite(added3.iterator(), false, added3.size());
 
-        append(newArrayList(f2, f3), f1, true);
+        append(List.of(f2, f3), f1, true);
         assertEquals(union(union(added1, added2), added3),
             readStringsAsSet(new FileInputStream(f1), false));
         assertTrue(!f2.exists());
@@ -257,7 +258,7 @@ public class FileIOUtilsTest {
         Set<String> added3 = Set.of("t", "y", "8", "9");
         File f3 = assertWrite(added3.iterator(), false, added3.size());
 
-        append(newArrayList(f2, f3), f1, false);
+        append(List.of(f2, f3), f1, false);
 
         assertEquals(union(union(added1, added2), added3),
             readStringsAsSet(new FileInputStream(f1), false));
@@ -275,7 +276,7 @@ public class FileIOUtilsTest {
         File f3 = assertWrite(added3.iterator(), false, added3.size());
 
         try {
-            append(newArrayList(f2, f3), null, true);
+            append(List.of(f2, f3), null, true);
         } catch (Exception e) {
         }
         assertTrue(!f2.exists());
@@ -293,7 +294,7 @@ public class FileIOUtilsTest {
         Set<String> added2 = Set.of("2", "3", "5", "6");
         File f2 = assertWrite(added2.iterator(), true, added2.size());
 
-        append(newArrayList(f2), f1, true);
+        append(List.of(f2), f1, true);
 
         assertEquals(union(added1, added2),
             readStringsAsSet(new FileInputStream(f1), true));
@@ -307,7 +308,7 @@ public class FileIOUtilsTest {
         Set<String> added2 = Set.of("2", "3", "5", "6");
         File f2 = assertWrite(added2.iterator(), true, added2.size());
 
-        append(newArrayList(f1), f2, true);
+        append(List.of(f1), f2, true);
 
         assertEquals(union(added1, added2), readStringsAsSet(new FileInputStream(f2), true));
     }
@@ -321,7 +322,7 @@ public class FileIOUtilsTest {
         File f3 = assertWrite(added3.iterator(), false, added3.size());
 
         try {
-            merge(newArrayList(f2, f3), null);
+            merge(List.of(f2, f3), null);
         } catch(Exception e) {}
 
         assertTrue(!f2.exists());
@@ -422,12 +423,12 @@ public class FileIOUtilsTest {
     }
 
     private static List<String> getLineBreakStrings() {
-        return newArrayList("ab\nc\r", "ab\\z", "a\\\\z\nc",
-            "/a", "/a/b\nc", "/a/b\rd", "/a/b\r\ne", "/a/c");
+        return new ArrayList<>(List.of("ab\nc\r", "ab\\z", "a\\\\z\nc",
+            "/a", "/a/b\nc", "/a/b\rd", "/a/b\r\ne", "/a/c"));
     }
 
     private static List<String> escape(List<String> list) {
-        List<String> escaped = newArrayList();
+        List<String> escaped = new ArrayList<>();
         for (String s : list) {
             escaped.add(escapeLineBreak(s));
         }
@@ -435,7 +436,7 @@ public class FileIOUtilsTest {
     }
 
     private static List<String> unescape(List<String> list) {
-        List<String> unescaped = newArrayList();
+        List<String> unescaped = new ArrayList<>();
         for (String s : list) {
             unescaped.add(unescapeLineBreaks(s));
         }
diff --git a/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FileLineDifferenceIteratorTest.java b/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FileLineDifferenceIteratorTest.java
index 74590555c0..88f3a21264 100644
--- a/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FileLineDifferenceIteratorTest.java
+++ b/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FileLineDifferenceIteratorTest.java
@@ -38,7 +38,6 @@ import org.apache.jackrabbit.guava.common.base.Joiner;
 import org.apache.jackrabbit.guava.common.base.Splitter;
 
 import org.apache.jackrabbit.guava.common.collect.ImmutableList;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.oak.commons.io.FileLineDifferenceIterator;
 import org.jetbrains.annotations.Nullable;
 import org.junit.Test;
@@ -136,12 +135,12 @@ public class FileLineDifferenceIteratorTest {
     }
 
     private static List<String> getLineBreakStrings() {
-        return Lists.newArrayList("ab\nc\r", "ab\\z", "a\\\\z\nc",
-            "/a", "/a/b\nc", "/a/b\rd", "/a/b\r\ne", "/a/c");
+        return new ArrayList<>(List.of("ab\nc\r", "ab\\z", "a\\\\z\nc",
+            "/a", "/a/b\nc", "/a/b\rd", "/a/b\r\ne", "/a/c"));
     }
 
     private static List<String> remove(List<String> list, int idx, int count) {
-        List<String> diff = Lists.newArrayList();
+        List<String> diff = new ArrayList<>();
         int i = 0;
         while (i < count) {
             diff.add(list.remove(idx));
@@ -151,7 +150,7 @@ public class FileLineDifferenceIteratorTest {
     }
 
     private static List<String> escape(List<String> list) {
-        List<String> escaped = Lists.newArrayList();
+        List<String> escaped = new ArrayList<>();
         for (String s : list) {
             escaped.add(escapeLineBreak(s));
         }
diff --git a/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/IOUtilsTest.java b/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/IOUtilsTest.java
index 919b85fcfc..0a38f06485 100644
--- a/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/IOUtilsTest.java
+++ b/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/IOUtilsTest.java
@@ -27,10 +27,10 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.RandomAccessFile;
 import java.nio.ByteBuffer;
+import java.util.List;
 import java.util.Random;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import junit.framework.TestCase;
 
 /**
@@ -309,13 +309,13 @@ public class IOUtilsTest extends TestCase {
         testLong(Long.MIN_VALUE);
         testLong(Long.MAX_VALUE);
         testLong(0x0L);
-        for (long l : Lists.newArrayList(0x01L, 0x08L)) {
+        for (long l : List.of(0x01L, 0x08L)) {
             for (long x = l; x != 0; x = (x << 4)) {
                 testLong(x);
             }
         }
         long loopMax = (Long.MAX_VALUE >> 4) + 1;
-        for (long l : Lists.newArrayList(0x07L, 0x0FL)) {
+        for (long l : List.of(0x07L, 0x0FL)) {
             for (long x = l; x <= loopMax; x = ((x << 4) | 0x0FL)) {
                 testLong(x);
             }
@@ -326,13 +326,13 @@ public class IOUtilsTest extends TestCase {
         testInt(Integer.MIN_VALUE);
         testInt(Integer.MAX_VALUE);
         testInt(0x0);
-        for (int i : Lists.newArrayList(0x01, 0x08)) {
+        for (int i : List.of(0x01, 0x08)) {
             for (int x = i; x != 0; x = (x << 4)) {
                 testInt(x);
             }
         }
         int loopMax = (Integer.MAX_VALUE >> 4) + 1;
-        for (int i : Lists.newArrayList(0x07, 0x0F)) {
+        for (int i : List.of(0x07, 0x0F)) {
             for (int x = i; x <= loopMax; x = ((x << 4) | 0x0F)) {
                 testInt(x);
             }
@@ -365,7 +365,7 @@ public class IOUtilsTest extends TestCase {
 
     public void testCopyStream() throws IOException {
         final Random r = new Random(1);
-        for (int length : Lists.newArrayList(0, 1, 1000, 4096, 4097, 1024*1024)) {
+        for (int length : List.of(0, 1, 1000, 4096, 4097, 1024*1024)) {
             byte[] inData = new byte[length];
             r.nextBytes(inData);
             ByteArrayInputStream in = new ByteArrayInputStream(inData);
diff --git a/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/junit/LogCustomizer.java b/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/junit/LogCustomizer.java
index 8d55ffef4c..a935751a65 100644
--- a/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/junit/LogCustomizer.java
+++ b/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/junit/LogCustomizer.java
@@ -20,6 +20,7 @@ package org.apache.jackrabbit.oak.commons.junit;
 
 import static org.slf4j.Logger.ROOT_LOGGER_NAME;
 
+import java.util.ArrayList;
 import java.util.List;
 
 import org.slf4j.LoggerFactory;
@@ -31,8 +32,6 @@ import ch.qos.logback.classic.spi.ILoggingEvent;
 import ch.qos.logback.core.Appender;
 import ch.qos.logback.core.AppenderBase;
 
-import org.apache.jackrabbit.guava.common.collect.Lists;
-
 /**
  * The LogCustomizer allows to enable log level for a specific logger and/or
  * filter the received logs this logger on a dedicated log level
@@ -150,7 +149,7 @@ public class LogCustomizer {
     }
 
     private final Logger logger;
-    private final List<String> logs = Lists.newArrayList();
+    private final List<String> logs = new ArrayList<>();
 
     private final Level enableLevel;
     private final Level originalLevel;
diff --git a/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/sort/StringSortTest.java b/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/sort/StringSortTest.java
index 2e59ebca20..20fb2145f0 100644
--- a/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/sort/StringSortTest.java
+++ b/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/sort/StringSortTest.java
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.jackrabbit.oak.commons.sort;
 
 import java.io.IOException;
@@ -32,7 +31,6 @@ import java.util.Set;
 import org.apache.jackrabbit.guava.common.base.Joiner;
 import org.apache.jackrabbit.guava.common.collect.Collections2;
 import org.apache.jackrabbit.guava.common.collect.ImmutableList;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -69,7 +67,7 @@ public class StringSortTest {
 
     @Test
     public void sortWithEntriesHavingLineBreaks() throws Exception{
-        List<String> paths = Lists.newArrayList("/a", "/a/b\nc", "/a/b\rd", "/a/b\r\ne", "/a/c");
+        List<String> paths = new ArrayList<>(List.of("/a", "/a/b\nc", "/a/b\rd", "/a/b\r\ne", "/a/c"));
 
         collector = new StringSort(0, comparator);
         addPathsToCollector(paths);
@@ -92,7 +90,7 @@ public class StringSortTest {
      */
     @Test
     public void sortWithEntriesHavingLineBreaks2() throws Exception{
-        List<String> paths = Lists.newArrayList("/a", "/a/a\nc", "/a/a\rd", "/a/a\r\ne", "/a/a\\");
+        List<String> paths = new ArrayList<>(List.of("/a", "/a/a\nc", "/a/a\rd", "/a/a\r\ne", "/a/a\\"));
 
         collector = new StringSort(0, comparator);
         addPathsToCollector(paths);
diff --git a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/SimpleMountInfoProvider.java b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/SimpleMountInfoProvider.java
index 6769fc6dc0..56481de8ed 100644
--- a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/SimpleMountInfoProvider.java
+++ b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/SimpleMountInfoProvider.java
@@ -16,19 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.jackrabbit.oak.spi.mount;
 
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 
 import org.apache.jackrabbit.guava.common.collect.ImmutableMap;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.guava.common.collect.Maps;
-import org.apache.jackrabbit.oak.spi.mount.Mount;
-import org.apache.jackrabbit.oak.spi.mount.MountInfoProvider;
-import org.apache.jackrabbit.oak.spi.mount.Mounts;
 
 /**
  * A simple and inefficient implementation to manage mount points
@@ -73,7 +69,7 @@ final class SimpleMountInfoProvider implements MountInfoProvider {
 
     @Override
     public Collection<Mount> getMountsPlacedUnder(String path) {
-        Collection<Mount> mounts = Lists.newArrayList();
+        Collection<Mount> mounts = new ArrayList<>();
         for ( Mount mount : this.mounts.values()) {
             if ( mount.isUnder(path) ) {
                 mounts.add(mount);
@@ -84,7 +80,7 @@ final class SimpleMountInfoProvider implements MountInfoProvider {
 
     @Override
     public Collection<Mount> getMountsPlacedDirectlyUnder(String path) {
-        Collection<Mount> mounts = Lists.newArrayList();
+        Collection<Mount> mounts = new ArrayList<>();
         for ( Mount mount : this.mounts.values()) {
             if ( mount.isDirectlyUnder(path) ) {
                 mounts.add(mount);
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/Oak.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/Oak.java
index dcab043109..3d298494fd 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/Oak.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/Oak.java
@@ -17,7 +17,7 @@
 package org.apache.jackrabbit.oak;
 
 import static java.util.Objects.requireNonNull;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static java.util.Collections.emptyMap;
 import static org.apache.jackrabbit.oak.spi.toggle.Feature.newFeature;
 import static org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.registerMBean;
@@ -158,19 +158,19 @@ public class Oak {
 
     private final NodeStore store;
 
-    private final List<RepositoryInitializer> initializers = newArrayList();
+    private final List<RepositoryInitializer> initializers = new ArrayList<>();
 
     private AnnotatedQueryEngineSettings queryEngineSettings = new AnnotatedQueryEngineSettings();
 
-    private final List<QueryIndexProvider> queryIndexProviders = newArrayList();
+    private final List<QueryIndexProvider> queryIndexProviders = new ArrayList<>();
 
-    private final List<IndexEditorProvider> indexEditorProviders = newArrayList();
+    private final List<IndexEditorProvider> indexEditorProviders = new ArrayList<>();
 
-    private final List<CommitHook> commitHooks = newArrayList();
+    private final List<CommitHook> commitHooks = new ArrayList<>();
 
-    private final List<Observer> observers = Lists.newArrayList();
+    private final List<Observer> observers = new ArrayList<>();
 
-    private List<EditorProvider> editorProviders = newArrayList();
+    private List<EditorProvider> editorProviders = new ArrayList<>();
 
     private CompositeConflictHandler conflictHandler;
 
@@ -470,7 +470,7 @@ public class Oak {
         if (!editorProviders.isEmpty()) {
             commitHooks.add(new EditorHook(
                     CompositeEditorProvider.compose(editorProviders)));
-            editorProviders = newArrayList();
+            editorProviders = new ArrayList<>();
         }
     }
 
@@ -734,7 +734,7 @@ public class Oak {
 
         final RepoStateCheckHook repoStateCheckHook = new RepoStateCheckHook();
         closer.register(repoStateCheckHook);
-        final List<Registration> regs = Lists.newArrayList();
+        final List<Registration> regs = new ArrayList<>();
         closer.register( () -> new CompositeRegistration(regs).unregister() );
         regs.add(whiteboard.register(Executor.class, getExecutor(), Collections.emptyMap()));
 
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/core/MutableRoot.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/core/MutableRoot.java
index 2e21b48aba..ef9b1a73df 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/core/MutableRoot.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/core/MutableRoot.java
@@ -19,7 +19,7 @@
 package org.apache.jackrabbit.oak.core;
 
 import static java.util.Objects.requireNonNull;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.oak.commons.PathUtils.concat;
 import static org.apache.jackrabbit.oak.commons.PathUtils.getName;
 import static org.apache.jackrabbit.oak.commons.PathUtils.getParentPath;
@@ -281,7 +281,7 @@ class MutableRoot implements Root, PermissionAware {
      *         defined with the security modules and the padded {@code hooks}.
      */
     private CommitHook getCommitHook() {
-        List<CommitHook> hooks = newArrayList();
+        List<CommitHook> hooks = new ArrayList<>();
         hooks.add(ResetCommitAttributeHook.INSTANCE);
         hooks.add(hook);
 
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/management/RepositoryManager.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/management/RepositoryManager.java
index 928c40e651..da908b776d 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/management/RepositoryManager.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/management/RepositoryManager.java
@@ -19,7 +19,7 @@
 package org.apache.jackrabbit.oak.management;
 
 import static java.util.Objects.requireNonNull;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static java.util.Collections.singletonMap;
 import static org.apache.jackrabbit.oak.commons.jmx.ManagementOperation.Status;
 import static org.apache.jackrabbit.oak.commons.jmx.ManagementOperation.Status.failed;
@@ -28,6 +28,7 @@ import static org.apache.jackrabbit.oak.commons.jmx.ManagementOperation.Status.s
 import static org.apache.jackrabbit.oak.commons.jmx.ManagementOperation.Status.toTabularData;
 import static org.apache.jackrabbit.oak.commons.jmx.ManagementOperation.Status.unavailable;
 
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
@@ -97,7 +98,7 @@ public class RepositoryManager extends AnnotatedStandardMBean implements Reposit
 
     private <T> Iterable<Status> executeAll(Class<T> serviceType, Function<T, Status> operation) {
         Tracker<T> tracker = whiteboard.track(serviceType);
-        List<Status> statuses = newArrayList();
+        List<Status> statuses = new ArrayList<>();
         try {
             for (T service : tracker.getServices()) {
                 statuses.add(operation.apply(service));
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/commit/AnnotatingConflictHandler.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/commit/AnnotatingConflictHandler.java
index 9daf67c776..e0d637332f 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/commit/AnnotatingConflictHandler.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/commit/AnnotatingConflictHandler.java
@@ -16,10 +16,10 @@
  */
 package org.apache.jackrabbit.oak.plugins.commit;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
 import static org.apache.jackrabbit.JcrConstants.JCR_MIXINTYPES;
 import static org.apache.jackrabbit.JcrConstants.JCR_PRIMARYTYPE;
 import static org.apache.jackrabbit.oak.api.Type.NAMES;
+import static org.apache.jackrabbit.oak.commons.collections.CollectionUtils.toList;
 import static org.apache.jackrabbit.oak.spi.nodetype.NodeTypeConstants.MIX_REP_MERGE_CONFLICT;
 import static org.apache.jackrabbit.oak.spi.nodetype.NodeTypeConstants.REP_OURS;
 import static org.apache.jackrabbit.oak.spi.state.ConflictType.ADD_EXISTING_NODE;
@@ -136,7 +136,7 @@ public class AnnotatingConflictHandler implements ThreeWayConflictHandler {
     }
 
     private static NodeBuilder addConflictMarker(@NotNull NodeBuilder parent) {
-        List<String> mixins = newArrayList(parent.getNames(JCR_MIXINTYPES));
+        List<String> mixins = toList(parent.getNames(JCR_MIXINTYPES));
         if (mixins.add(MIX_REP_MERGE_CONFLICT)) {
             parent.setProperty(JCR_MIXINTYPES, mixins, NAMES);
         }
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/cow/BranchNodeStore.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/cow/BranchNodeStore.java
index f5fbb5b694..0250a42875 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/cow/BranchNodeStore.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/cow/BranchNodeStore.java
@@ -31,16 +31,17 @@ import org.jetbrains.annotations.NotNull;
 import java.io.Closeable;
 import java.io.IOException;
 import java.io.InputStream;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.TimeUnit;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
 
 import static java.util.Collections.emptyMap;
 import static java.util.Collections.singletonMap;
+import static org.apache.jackrabbit.oak.commons.collections.CollectionUtils.toList;
 
 public class BranchNodeStore implements NodeStore, Observable {
 
@@ -56,7 +57,7 @@ public class BranchNodeStore implements NodeStore, Observable {
 
     public BranchNodeStore(NodeStore nodeStore) throws CommitFailedException {
         this.nodeStore = nodeStore;
-        this.inheritedCheckpoints = newArrayList(nodeStore.checkpoints());
+        this.inheritedCheckpoints = toList(nodeStore.checkpoints());
         this.checkpointMapping = new ConcurrentHashMap<>();
 
         String cp = nodeStore.checkpoint(CHECKPOINT_LIFETIME, singletonMap("type", "copy-on-write"));
@@ -124,8 +125,8 @@ public class BranchNodeStore implements NodeStore, Observable {
     @NotNull
     @Override
     public Iterable<String> checkpoints() {
-        List<String> result = newArrayList(inheritedCheckpoints);
-        result.retainAll(newArrayList(nodeStore.checkpoints()));
+        List<String> result = new ArrayList<>(inheritedCheckpoints);
+        result.retainAll(toList(nodeStore.checkpoints()));
 
         checkpointMapping.entrySet().stream()
                 .filter(e -> memoryNodeStore.listCheckpoints().contains(e.getValue()))
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java
index 8afbba0fca..eaa1b29fd0 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java
@@ -28,6 +28,7 @@ import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.REINDEX_PRO
 import static org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.MISSING_NODE;
 
 import java.io.Closeable;
+import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Collections;
 import java.util.HashSet;
@@ -49,7 +50,6 @@ import javax.management.openmbean.SimpleType;
 import javax.management.openmbean.TabularData;
 
 import com.codahale.metrics.MetricRegistry;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.api.stats.TimeSeries;
 import org.apache.jackrabbit.oak.api.CommitFailedException;
 import org.apache.jackrabbit.oak.api.PropertyState;
@@ -939,7 +939,7 @@ public class AsyncIndexUpdate implements Runnable, Closeable {
                 }
             }
         };
-        List<EditorProvider> editorProviders = Lists.newArrayList();
+        List<EditorProvider> editorProviders = new ArrayList<>();
         editorProviders.add(new ConflictValidatorProvider());
         editorProviders.addAll(validatorProviders);
         CompositeHook hooks = new CompositeHook(
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexerService.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexerService.java
index 878e15c4dc..352a817f2b 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexerService.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexerService.java
@@ -21,12 +21,12 @@ package org.apache.jackrabbit.oak.plugins.index;
 
 import java.io.Closeable;
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.guava.common.io.Closer;
 import org.apache.jackrabbit.oak.api.jmx.IndexStatsMBean;
 import org.apache.jackrabbit.oak.osgi.OsgiWhiteboard;
@@ -212,7 +212,7 @@ public class AsyncIndexerService {
     }
 
     static List<AsyncConfig> getAsyncConfig(String[] configs) {
-        List<AsyncConfig> result = Lists.newArrayList();
+        List<AsyncConfig> result = new ArrayList<>();
         for (String config : configs) {
             int idOfEq = config.indexOf(CONFIG_SEP);
             checkArgument(idOfEq > 0, "Invalid config provided [%s]", Arrays.toString(configs));
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/CompositeIndexEditorProvider.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/CompositeIndexEditorProvider.java
index 725e237ed5..aa2f2b4c50 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/CompositeIndexEditorProvider.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/CompositeIndexEditorProvider.java
@@ -16,6 +16,7 @@
  */
 package org.apache.jackrabbit.oak.plugins.index;
 
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
@@ -28,7 +29,6 @@ import org.apache.jackrabbit.oak.spi.state.NodeState;
 import org.jetbrains.annotations.NotNull;
 
 import org.apache.jackrabbit.guava.common.collect.ImmutableList;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 
 /**
  * Aggregation of a list of editor providers into a single provider.
@@ -68,7 +68,7 @@ public class CompositeIndexEditorProvider implements IndexEditorProvider {
     public Editor getIndexEditor(
             @NotNull String type, @NotNull NodeBuilder builder, @NotNull NodeState root, @NotNull IndexUpdateCallback callback)
             throws CommitFailedException {
-        List<Editor> indexes = Lists.newArrayList();
+        List<Editor> indexes = new ArrayList<>();
         for (IndexEditorProvider provider : providers) {
             Editor e = provider.getIndexEditor(type, builder, root, callback);
             if (e != null) {
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexMBeanRegistration.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexMBeanRegistration.java
index 8a505ec83a..45f8b06b58 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexMBeanRegistration.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexMBeanRegistration.java
@@ -20,6 +20,7 @@ import static org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.ScheduleE
 import static org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.registerMBean;
 import static org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.scheduleWithFixedDelay;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -29,13 +30,10 @@ import org.apache.jackrabbit.oak.spi.whiteboard.CompositeRegistration;
 import org.apache.jackrabbit.oak.spi.whiteboard.Registration;
 import org.apache.jackrabbit.oak.spi.whiteboard.Whiteboard;
 
-import org.apache.jackrabbit.guava.common.collect.Lists;
-import org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils;
-
 public class IndexMBeanRegistration implements Registration {
 
     private final Whiteboard whiteboard;
-    private final List<Registration> regs = Lists.newArrayList();
+    private final List<Registration> regs = new ArrayList<>();
 
     public IndexMBeanRegistration(Whiteboard whiteboard) {
         this.whiteboard = whiteboard;
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdate.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdate.java
index c6d4841ce9..569e420291 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdate.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdate.java
@@ -17,7 +17,7 @@
 package org.apache.jackrabbit.oak.plugins.index;
 
 import static java.util.Objects.requireNonNull;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.oak.api.Type.BOOLEAN;
 import static org.apache.jackrabbit.oak.commons.PathUtils.concat;
 import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.ASYNC_PROPERTY_NAME;
@@ -130,7 +130,7 @@ public class IndexUpdate implements Editor, PathSource {
     /**
      * Editors for indexes that will be normally updated.
      */
-    private final List<Editor> editors = newArrayList();
+    private final List<Editor> editors = new ArrayList<>();
 
     /**
      * Editors for indexes that need to be re-indexed.
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/aggregate/SimpleNodeAggregator.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/aggregate/SimpleNodeAggregator.java
index ec96068371..312332aaf3 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/aggregate/SimpleNodeAggregator.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/aggregate/SimpleNodeAggregator.java
@@ -18,13 +18,13 @@
  */
 package org.apache.jackrabbit.oak.plugins.index.aggregate;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
 import static org.apache.jackrabbit.JcrConstants.JCR_PRIMARYTYPE;
 import static org.apache.jackrabbit.oak.api.Type.STRING;
 import static org.apache.jackrabbit.oak.commons.PathUtils.elements;
 import static org.apache.jackrabbit.oak.commons.PathUtils.getDepth;
 import static org.apache.jackrabbit.oak.commons.PathUtils.getName;
 import static org.apache.jackrabbit.oak.commons.PathUtils.getParentPath;
+import static org.apache.jackrabbit.oak.commons.collections.CollectionUtils.toList;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -86,7 +86,7 @@ public class SimpleNodeAggregator implements QueryIndex.NodeAggregator {
                 parentPath = getParentPath(parentPath);
                 if (isNodeType(root, parentPath, primaryType)) {
                     parents.add(parentPath);
-                    parents.addAll(newArrayList(getParents(root, parentPath,
+                    parents.addAll(toList(getParents(root, parentPath,
                             false)));
                     return parents.iterator();
                 }
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/OrderedPropertyIndexProvider.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/OrderedPropertyIndexProvider.java
index 13aecffb9e..2a2d8077d3 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/OrderedPropertyIndexProvider.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/OrderedPropertyIndexProvider.java
@@ -14,11 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.jackrabbit.oak.plugins.index.property;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
-
+import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.jackrabbit.oak.spi.query.QueryIndex;
@@ -36,19 +34,19 @@ public class OrderedPropertyIndexProvider implements QueryIndexProvider {
     private static final Logger LOG = LoggerFactory.getLogger(OrderedPropertyIndexProvider.class);
     private static int hits;
     private static int threshold = OrderedIndex.TRACK_DEPRECATION_EVERY;
-    
+
     @Override
     public List<? extends QueryIndex> getQueryIndexes(NodeState nodeState) {
         if (getHits() % threshold == 0) {
             LOG.warn(OrderedIndex.DEPRECATION_MESSAGE);            
         }
-        return newArrayList();
+        return new ArrayList<>();
     }
-    
+
     private synchronized int getHits() {
         return hits++;
     }
-    
+
     /**
      * used only for testing purposes. Not thread safe.
      * 
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexLookup.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexLookup.java
index 522d25b37f..2c652df556 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexLookup.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexLookup.java
@@ -25,6 +25,7 @@ import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.INDEX_CONTE
 import static org.apache.jackrabbit.oak.plugins.index.property.PropertyIndexEditorProvider.TYPE;
 import static org.apache.jackrabbit.oak.plugins.index.property.PropertyIndexUtil.encode;
 
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Set;
@@ -44,7 +45,6 @@ import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
 import org.apache.jackrabbit.guava.common.collect.Iterables;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -120,7 +120,7 @@ public class PropertyIndexLookup {
         if (indexMeta == null) {
             throw new IllegalArgumentException("No index for " + propertyName);
         }
-        List<Iterable<String>> iterables = Lists.newArrayList();
+        List<Iterable<String>> iterables = new ArrayList<>();
         ValuePattern pattern = new ValuePattern(indexMeta);
         for (IndexStoreStrategy s : getStrategies(indexMeta)) {
             iterables.add(s.query(filter, propertyName, indexMeta,
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexPlan.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexPlan.java
index 6767777478..8c076d4874 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexPlan.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexPlan.java
@@ -21,6 +21,7 @@ import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.DECLARING_N
 import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.INDEX_CONTENT_NODE_NAME;
 import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.PROPERTY_NAMES;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Set;
 
@@ -43,7 +44,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.jackrabbit.guava.common.collect.Iterables;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 
 /**
  * Plan for querying a given property index using a given filter.
@@ -211,7 +211,7 @@ public class PropertyIndexPlan {
             LOG.warn("This index is deprecated: {}; it is used for query {} called by {}. " +
                     "Please change the query or the index definitions.", name, filter, caller);
         }
-        List<Iterable<String>> iterables = Lists.newArrayList();
+        List<Iterable<String>> iterables = new ArrayList<>();
         for (IndexStoreStrategy s : strategies) {
             iterables.add(s.query(filter, name, definition, values));
         }
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/reference/ReferenceIndex.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/reference/ReferenceIndex.java
index 2ac090852e..8e8bea4ae3 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/reference/ReferenceIndex.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/reference/ReferenceIndex.java
@@ -130,7 +130,7 @@ class ReferenceIndex implements QueryIndex {
         if (!indexRoot.exists()) {
             return newPathCursor(new ArrayList<String>(), filter.getQueryLimits());
         }
-        List<Iterable<String>> iterables = Lists.newArrayList();
+        List<Iterable<String>> iterables = new ArrayList<>();
         for (IndexStoreStrategy s : getStrategies(indexRoot, mountInfoProvider, index)) {
             iterables.add(s.query(filter, index + "("
                     + uuid + ")", indexRoot, Set.of(uuid)));
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/itemsave/ItemSaveValidator.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/itemsave/ItemSaveValidator.java
index b594230906..bbdfdd70ef 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/itemsave/ItemSaveValidator.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/itemsave/ItemSaveValidator.java
@@ -18,8 +18,8 @@
  */
 package org.apache.jackrabbit.oak.plugins.itemsave;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
 import static org.apache.jackrabbit.oak.commons.PathUtils.elements;
+import static org.apache.jackrabbit.oak.commons.collections.CollectionUtils.toList;
 
 import java.util.List;
 
@@ -50,7 +50,7 @@ class ItemSaveValidator extends SubtreeExcludingValidator {
         this(new FailingValidator(CommitFailedException.UNSUPPORTED, 0,
                 "Failed to save subtree at " + path + ". There are " +
                         "transient modifications outside that subtree."),
-                newArrayList(elements(path)));
+                toList(elements(path)));
     }
 
     private ItemSaveValidator(Validator validator, List<String> path) {
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/metric/StatisticsProviderFactory.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/metric/StatisticsProviderFactory.java
index d686d2bb6f..7bd3781a6c 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/metric/StatisticsProviderFactory.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/metric/StatisticsProviderFactory.java
@@ -16,11 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.jackrabbit.oak.plugins.metric;
 
 import java.io.Closeable;
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.Dictionary;
 import java.util.Hashtable;
 import java.util.List;
@@ -29,7 +29,6 @@ import java.util.concurrent.ScheduledExecutorService;
 
 import javax.management.MBeanServer;
 
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.oak.commons.concurrent.ExecutorCloser;
 import org.apache.jackrabbit.oak.stats.DefaultStatisticsProvider;
 import org.apache.jackrabbit.oak.stats.StatisticsProvider;
@@ -92,9 +91,9 @@ public class StatisticsProviderFactory {
      */
     @Reference(cardinality = ReferenceCardinality.OPTIONAL)
     private MBeanServer server;
-    
+
     private StatisticsProvider statisticsProvider;
-    private List<ServiceRegistration> regs = Lists.newArrayList();
+    private List<ServiceRegistration> regs = new ArrayList<>();
     private ScheduledExecutorService executor;
     private BundleContext bundleContext;
 
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/EffectiveNodeTypeImpl.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/EffectiveNodeTypeImpl.java
index e91b3c5238..cd0fce127c 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/EffectiveNodeTypeImpl.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/EffectiveNodeTypeImpl.java
@@ -17,7 +17,7 @@
 package org.apache.jackrabbit.oak.plugins.nodetype;
 
 import static java.util.Objects.requireNonNull;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static javax.jcr.PropertyType.UNDEFINED;
 import static org.apache.jackrabbit.JcrConstants.NT_BASE;
 
@@ -218,7 +218,7 @@ class EffectiveNodeTypeImpl implements EffectiveNodeType {
     @NotNull
     @Override
     public Iterable<PropertyDefinition> getNamedPropertyDefinitions(@NotNull String oakName) {
-        List<PropertyDefinition> definitions = newArrayList();
+        List<PropertyDefinition> definitions = new ArrayList<>();
         for (NodeTypeImpl type : nodeTypes.values()) {
             definitions.addAll(type.getDeclaredNamedPropertyDefinitions(oakName));
         }
@@ -233,7 +233,7 @@ class EffectiveNodeTypeImpl implements EffectiveNodeType {
     @NotNull
     @Override
     public Iterable<NodeDefinition> getResidualNodeDefinitions() {
-        List<NodeDefinition> definitions = newArrayList();
+        List<NodeDefinition> definitions = new ArrayList<>();
         for (NodeTypeImpl type : nodeTypes.values()) {
             definitions.addAll(type.getDeclaredResidualNodeDefinitions());
         }
@@ -248,7 +248,7 @@ class EffectiveNodeTypeImpl implements EffectiveNodeType {
     @NotNull
     @Override
     public Iterable<PropertyDefinition> getResidualPropertyDefinitions() {
-        List<PropertyDefinition> definitions = newArrayList();
+        List<PropertyDefinition> definitions = new ArrayList<>();
         for (NodeTypeImpl type : nodeTypes.values()) {
             definitions.addAll(type.getDeclaredResidualPropertyDefinitions());
         }
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/NodeTypeImpl.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/NodeTypeImpl.java
index 92621a5821..ad3e416920 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/NodeTypeImpl.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/NodeTypeImpl.java
@@ -16,7 +16,6 @@
  */
 package org.apache.jackrabbit.oak.plugins.nodetype;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
 import static java.util.Collections.emptyList;
 import static org.apache.jackrabbit.JcrConstants.JCR_HASORDERABLECHILDNODES;
 import static org.apache.jackrabbit.JcrConstants.JCR_ISMIXIN;
@@ -288,7 +287,7 @@ class NodeTypeImpl extends AbstractTypeDefinition implements NodeType {
 
     @Override
     public NodeTypeIterator getDeclaredSubtypes() {
-        List<NodeType> subtypes = Lists.newArrayList();
+        List<NodeType> subtypes = new ArrayList<>();
 
         String oakName = getOakName();
         Tree root = definition.getParent();
@@ -411,7 +410,7 @@ class NodeTypeImpl extends AbstractTypeDefinition implements NodeType {
 
     @Override
     public boolean canRemoveItem(String itemName) {
-        List<ItemDefinition> definitions = Lists.newArrayList();
+        List<ItemDefinition> definitions = new ArrayList<>();
         definitions.addAll(Arrays.asList(getChildNodeDefinitions()));
         definitions.addAll(Arrays.asList(getPropertyDefinitions()));
         return internalCanRemoveItem(itemName, definitions);
@@ -557,7 +556,7 @@ class NodeTypeImpl extends AbstractTypeDefinition implements NodeType {
 
     private List<PropertyDefinition> getDeclaredPropertyDefs(Tree definitions) {
         if (definitions.exists()) {
-            List<PropertyDefinition> list = newArrayList();
+            List<PropertyDefinition> list = new ArrayList<>();
             String typeName = getOakName();
             for (Tree def : definitions.getChildren()) {
                 String declaringTypeName =
@@ -574,7 +573,7 @@ class NodeTypeImpl extends AbstractTypeDefinition implements NodeType {
 
     private List<NodeDefinition> getDeclaredNodeDefs(Tree defs) {
         if (defs.exists()) {
-            List<NodeDefinition> list = newArrayList();
+            List<NodeDefinition> list = new ArrayList<>();
             String typeName = getOakName();
             for (Tree def : defs.getChildren()) {
                 String declaringTypeName =
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/ReadOnlyNodeTypeManager.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/ReadOnlyNodeTypeManager.java
index 37d8ee545b..d250f910fd 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/ReadOnlyNodeTypeManager.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/ReadOnlyNodeTypeManager.java
@@ -25,6 +25,7 @@ import static org.apache.jackrabbit.oak.commons.PathUtils.dropIndexFromName;
 import static org.apache.jackrabbit.oak.spi.nodetype.NodeTypeConstants.NODE_TYPES_PATH;
 import static org.apache.jackrabbit.oak.spi.nodetype.NodeTypeConstants.REP_SUPERTYPES;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.function.Supplier;
 
@@ -43,7 +44,6 @@ import javax.jcr.nodetype.NodeTypeTemplate;
 import javax.jcr.nodetype.PropertyDefinition;
 import javax.jcr.nodetype.PropertyDefinitionTemplate;
 
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.JcrConstants;
 import org.apache.jackrabbit.commons.iterator.NodeTypeIteratorAdapter;
 import org.apache.jackrabbit.oak.api.PropertyState;
@@ -156,7 +156,7 @@ public abstract class ReadOnlyNodeTypeManager implements NodeTypeManager, Effect
 
     @Override
     public NodeTypeIterator getAllNodeTypes() throws RepositoryException {
-        List<NodeType> list = Lists.newArrayList();
+        List<NodeType> list = new ArrayList<>();
         Tree types = getTypes();
         NamePathMapper mapper = getNamePathMapper();
         for (Tree type : types.getChildren()) {
@@ -167,7 +167,7 @@ public abstract class ReadOnlyNodeTypeManager implements NodeTypeManager, Effect
 
     @Override
     public NodeTypeIterator getPrimaryNodeTypes() throws RepositoryException {
-        List<NodeType> list = Lists.newArrayList();
+        List<NodeType> list = new ArrayList<>();
         NodeTypeIterator iterator = getAllNodeTypes();
         while (iterator.hasNext()) {
             NodeType type = iterator.nextNodeType();
@@ -180,7 +180,7 @@ public abstract class ReadOnlyNodeTypeManager implements NodeTypeManager, Effect
 
     @Override
     public NodeTypeIterator getMixinNodeTypes() throws RepositoryException {
-        List<NodeType> list = Lists.newArrayList();
+        List<NodeType> list = new ArrayList<>();
         NodeTypeIterator iterator = getAllNodeTypes();
         while (iterator.hasNext()) {
             NodeType type = iterator.nextNodeType();
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypeEditor.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypeEditor.java
index 30a18ad79c..0f81c51a91 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypeEditor.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypeEditor.java
@@ -30,11 +30,13 @@ import static org.apache.jackrabbit.oak.api.Type.NAME;
 import static org.apache.jackrabbit.oak.api.Type.STRING;
 import static org.apache.jackrabbit.oak.api.Type.STRINGS;
 import static org.apache.jackrabbit.oak.commons.UUIDUtils.isValidUUID;
+import static org.apache.jackrabbit.oak.commons.collections.CollectionUtils.toList;
 import static org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.EMPTY_NODE;
 import static org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.MISSING_NODE;
 import static org.apache.jackrabbit.oak.spi.nodetype.NodeTypeConstants.JCR_IS_ABSTRACT;
 import static org.apache.jackrabbit.oak.plugins.nodetype.constraint.Constraints.asPredicate;
 
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Objects;
@@ -45,7 +47,6 @@ import javax.jcr.PropertyType;
 import javax.jcr.Value;
 
 import org.apache.jackrabbit.guava.common.collect.Iterables;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.oak.api.CommitFailedException;
 import org.apache.jackrabbit.oak.api.PropertyState;
 import org.apache.jackrabbit.oak.api.Type;
@@ -330,7 +331,7 @@ public class TypeEditor extends DefaultEditor {
             @Nullable EffectiveType parent, @Nullable String name,
             @Nullable String primary, @NotNull Iterable<String> mixins)
             throws CommitFailedException {
-        List<NodeState> list = Lists.newArrayList();
+        List<NodeState> list = new ArrayList<>();
 
         NodeState type = (primary == null) ? null : types.getChildNode(primary);
         if (type == null || !type.exists()) {
@@ -441,9 +442,9 @@ public class TypeEditor extends DefaultEditor {
     }
 
     private static boolean mixinsChanged(NodeState before, Iterable<String> after) {
-        List<String> pre = Lists.newArrayList(before.getNames(JCR_MIXINTYPES));
+        List<String> pre = toList(before.getNames(JCR_MIXINTYPES));
         Collections.sort(pre);
-        List<String> post = Lists.newArrayList(after);
+        List<String> post = toList(after);
         Collections.sort(post);
         if (pre.isEmpty() && post.isEmpty()) {
             return false;
@@ -467,7 +468,7 @@ public class TypeEditor extends DefaultEditor {
             constraintViolation(21, "Mandatory property '" + properties.iterator().next() + "' not found in a new node");
         }
 
-        List<String> names = Lists.newArrayList(after.getChildNodeNames());
+        List<String> names = toList(after.getChildNodeNames());
         for (String child : effective.getMandatoryChildNodes()) {
             if (!names.remove(child)) {
                 constraintViolation(25, "Mandatory child node '" + child + "' not found in a new node");
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypeRegistration.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypeRegistration.java
index 1323c01eb9..88c692fe41 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypeRegistration.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypeRegistration.java
@@ -19,7 +19,6 @@ package org.apache.jackrabbit.oak.plugins.nodetype;
 import static org.apache.jackrabbit.guava.common.collect.Iterables.addAll;
 import static org.apache.jackrabbit.guava.common.collect.Iterables.contains;
 import static org.apache.jackrabbit.guava.common.collect.Iterables.isEmpty;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
 import static org.apache.jackrabbit.guava.common.collect.Sets.union;
 import static java.util.Collections.emptyList;
 import static org.apache.jackrabbit.JcrConstants.JCR_CHILDNODEDEFINITION;
@@ -43,6 +42,8 @@ import static org.apache.jackrabbit.oak.api.Type.BOOLEAN;
 import static org.apache.jackrabbit.oak.api.Type.NAME;
 import static org.apache.jackrabbit.oak.api.Type.NAMES;
 import static org.apache.jackrabbit.oak.api.Type.STRING;
+import static org.apache.jackrabbit.oak.commons.collections.CollectionUtils.toLinkedSet;
+import static org.apache.jackrabbit.oak.commons.collections.CollectionUtils.toList;
 import static org.apache.jackrabbit.oak.spi.nodetype.NodeTypeConstants.JCR_NODE_TYPES;
 import static org.apache.jackrabbit.oak.spi.nodetype.NodeTypeConstants.REP_DECLARING_NODE_TYPE;
 import static org.apache.jackrabbit.oak.spi.nodetype.NodeTypeConstants.REP_HAS_PROTECTED_RESIDUAL_CHILD_NODES;
@@ -70,7 +71,6 @@ import java.util.Set;
 
 import org.apache.jackrabbit.oak.api.CommitFailedException;
 import org.apache.jackrabbit.oak.api.PropertyState;
-import org.apache.jackrabbit.oak.commons.collections.CollectionUtils;
 import org.apache.jackrabbit.oak.spi.nodetype.NodeTypeConstants;
 import org.apache.jackrabbit.oak.spi.state.DefaultNodeStateDiff;
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
@@ -314,7 +314,7 @@ class TypeRegistration extends DefaultNodeStateDiff {
 
     private void mergeNameList(
             NodeBuilder builder, NodeState state, String listName) {
-        Set<String> nameList = CollectionUtils.toLinkedSet(getNames(builder, listName));
+        Set<String> nameList = toLinkedSet(getNames(builder, listName));
         Iterables.addAll(nameList, state.getProperty(listName).getValue(NAMES));
         builder.setProperty(listName, nameList, NAMES);
     }
@@ -385,8 +385,7 @@ class TypeRegistration extends DefaultNodeStateDiff {
     }
 
     private void addNameToList(NodeBuilder type, String name, String value) {
-        List<String> values;
-        values = newArrayList(getNames(type, name));
+        List<String> values = toList(getNames(type, name));
         if (!values.contains(value)) {
             values.add(value);
         }
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/write/NodeTypeTemplateImpl.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/write/NodeTypeTemplateImpl.java
index a78ff511ce..bfd50ac1b8 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/write/NodeTypeTemplateImpl.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/write/NodeTypeTemplateImpl.java
@@ -298,7 +298,7 @@ class NodeTypeTemplateImpl extends NamedTemplate implements NodeTypeTemplate {
     @Override
     public List<? extends PropertyDefinitionTemplate> getPropertyDefinitionTemplates() {
         if (propertyDefinitionTemplates == null) {
-            propertyDefinitionTemplates = Lists.newArrayList();
+            propertyDefinitionTemplates = new ArrayList<>();
         }
         return propertyDefinitionTemplates;
     }
@@ -316,7 +316,7 @@ class NodeTypeTemplateImpl extends NamedTemplate implements NodeTypeTemplate {
     @Override
     public List<? extends NodeDefinitionTemplate> getNodeDefinitionTemplates() {
         if (nodeDefinitionTemplates == null) {
-            nodeDefinitionTemplates = Lists.newArrayList();
+            nodeDefinitionTemplates = new ArrayList<>();
         }
         return nodeDefinitionTemplates;
     }
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/EventGenerator.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/EventGenerator.java
index 34ea91e580..22c2babc1c 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/EventGenerator.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/EventGenerator.java
@@ -18,9 +18,9 @@
  */
 package org.apache.jackrabbit.oak.plugins.observation;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
 import static org.apache.jackrabbit.oak.api.Type.NAMES;
 import static org.apache.jackrabbit.oak.api.Type.STRING;
+import static org.apache.jackrabbit.oak.commons.collections.CollectionUtils.toList;
 import static org.apache.jackrabbit.oak.plugins.tree.TreeConstants.OAK_CHILD_ORDER;
 import static org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.MISSING_NODE;
 import static org.apache.jackrabbit.oak.spi.state.MoveDetector.SOURCE_PATH;
@@ -194,9 +194,9 @@ public class EventGenerator {
                 if (OAK_CHILD_ORDER.equals(before.getName())) {
                     // list the child node names before and after the change
                     List<String> beforeNames =
-                            newArrayList(before.getValue(NAMES));
+                            toList(before.getValue(NAMES));
                     List<String> afterNames =
-                            newArrayList(after.getValue(NAMES));
+                            toList(after.getValue(NAMES));
 
                     // check only those names that weren't added or removed
                     beforeNames.retainAll(new HashSet<>(afterNames));
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/FilterBuilder.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/FilterBuilder.java
index 0d576bbb48..10210be3e6 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/FilterBuilder.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/FilterBuilder.java
@@ -19,7 +19,7 @@
 package org.apache.jackrabbit.oak.plugins.observation.filter;
 
 import static java.util.Objects.requireNonNull;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static javax.jcr.observation.Event.NODE_ADDED;
 import static javax.jcr.observation.Event.NODE_MOVED;
 import static javax.jcr.observation.Event.NODE_REMOVED;
@@ -29,6 +29,8 @@ import static javax.jcr.observation.Event.PROPERTY_CHANGED;
 import static javax.jcr.observation.Event.PROPERTY_REMOVED;
 import static org.apache.jackrabbit.oak.commons.PathUtils.isAncestor;
 
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
@@ -60,11 +62,11 @@ public final class FilterBuilder {
     private boolean includeSessionLocal;
     private boolean includeClusterExternal;
     private boolean includeClusterLocal = true;
-    private final List<String> subTrees = newArrayList();
+    private final List<String> subTrees = new ArrayList<>();
     private final Set<String> pathsForMBean = new HashSet<>();
     private Condition condition = includeAll();
     private ChangeSetFilter changeSetFilter = new ChangeSetFilter() {
-        
+
         @Override
         public boolean excludes(ChangeSet changeSet) {
             return false;
@@ -341,7 +343,7 @@ public final class FilterBuilder {
      */
     @NotNull
     public Condition any(@NotNull Condition... conditions) {
-        return new AnyCondition(newArrayList(requireNonNull(conditions)));
+        return new AnyCondition(Arrays.asList(requireNonNull(conditions)));
     }
 
     /**
@@ -351,7 +353,7 @@ public final class FilterBuilder {
      */
     @NotNull
     public Condition all(@NotNull Condition... conditions) {
-        return new AllCondition(newArrayList(requireNonNull(conditions)));
+        return new AllCondition(Arrays.asList(requireNonNull(conditions)));
     }
 
     /**
@@ -601,13 +603,9 @@ public final class FilterBuilder {
             this.conditions = conditions;
         }
 
-        public AnyCondition(Condition... conditions) {
-            this(newArrayList(conditions));
-        }
-
         @Override
         public EventFilter createFilter(NodeState before, NodeState after) {
-            List<EventFilter> filters = newArrayList();
+            List<EventFilter> filters = new ArrayList<>();
             for (Condition condition : conditions) {
                 if (condition == ConstantCondition.INCLUDE_ALL) {
                     return ConstantFilter.INCLUDE_ALL;
@@ -628,13 +626,9 @@ public final class FilterBuilder {
             this.conditions = conditions;
         }
 
-        public AllCondition(Condition... conditions) {
-            this(newArrayList(conditions));
-        }
-
         @Override
         public EventFilter createFilter(NodeState before, NodeState after) {
-            List<EventFilter> filters = newArrayList();
+            List<EventFilter> filters = new ArrayList<>();
             for (Condition condition : conditions) {
                 if (condition == ConstantCondition.EXCLUDE_ALL) {
                     return ConstantFilter.EXCLUDE_ALL;
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/Filters.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/Filters.java
index 3e1e40ff81..a752f592dd 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/Filters.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/Filters.java
@@ -22,10 +22,9 @@ import static java.util.Objects.requireNonNull;
 import static org.apache.jackrabbit.oak.plugins.observation.filter.ConstantFilter.EXCLUDE_ALL;
 import static org.apache.jackrabbit.oak.plugins.observation.filter.ConstantFilter.INCLUDE_ALL;
 
+import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.jackrabbit.guava.common.collect.Lists;
-
 import org.apache.jackrabbit.oak.api.PropertyState;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
 import org.jetbrains.annotations.NotNull;
@@ -100,7 +99,7 @@ public final class Filters {
      */
     @NotNull
     public static EventFilter any(@NotNull final EventFilter... filters) {
-        return any(Lists.newArrayList(requireNonNull(filters)));
+        return any(List.of(requireNonNull(filters)));
     }
 
     /**
@@ -111,7 +110,7 @@ public final class Filters {
      */
     @NotNull
     public static EventFilter all(@NotNull final EventFilter... filters) {
-        return all(Lists.newArrayList(requireNonNull(filters)));
+        return all(List.of(requireNonNull(filters)));
     }
 
     /**
@@ -216,7 +215,7 @@ public final class Filters {
 
                 @Override
                 public EventFilter create(String name, NodeState before, NodeState after) {
-                    List<EventFilter> childFilters = Lists.newArrayList();
+                    List<EventFilter> childFilters = new ArrayList<>();
                     for (EventFilter filter : filters) {
                         EventFilter childFilter = filter.create(name, before, after);
                         if (childFilter != null) {
@@ -315,7 +314,7 @@ public final class Filters {
 
                 @Override
                 public EventFilter create(String name, NodeState before, NodeState after) {
-                    List<EventFilter> childFilters = Lists.newArrayList();
+                    List<EventFilter> childFilters = new ArrayList<>();
                     for (EventFilter filter : filters) {
                         EventFilter childFilter = filter.create(name, before, after);
                         if (childFilter == null) {
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/version/VersionHook.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/version/VersionHook.java
index f2826339c7..8d3ab49f02 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/version/VersionHook.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/version/VersionHook.java
@@ -27,12 +27,13 @@ import org.apache.jackrabbit.oak.spi.state.NodeState;
 import org.jetbrains.annotations.NotNull;
 import org.osgi.service.component.annotations.Component;
 
+import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
 import static org.apache.jackrabbit.guava.common.collect.Collections2.transform;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.oak.spi.commit.CompositeHook.compose;
 
 /**
@@ -71,7 +72,7 @@ public class VersionHook implements CommitHook {
     public NodeState processCommit(NodeState before, NodeState after, CommitInfo info) throws CommitFailedException {
         Set<String> existingVersionables = new HashSet<>();
 
-        List<EditorProvider> providers = newArrayList();
+        List<EditorProvider> providers = new ArrayList<>();
         providers.add(new VersionEditorProvider());
         providers.add(new VersionableCollector.Provider(existingVersionables));
         providers.add(new OrphanedVersionCleaner.Provider(existingVersionables));
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/version/VersionableState.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/version/VersionableState.java
index 54f0f6dea2..875a4210f3 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/version/VersionableState.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/version/VersionableState.java
@@ -40,6 +40,7 @@ import static org.apache.jackrabbit.JcrConstants.JCR_VERSIONHISTORY;
 import static org.apache.jackrabbit.JcrConstants.MIX_VERSIONABLE;
 import static org.apache.jackrabbit.JcrConstants.NT_FROZENNODE;
 import static org.apache.jackrabbit.JcrConstants.NT_VERSIONEDCHILD;
+import static org.apache.jackrabbit.oak.commons.collections.CollectionUtils.toList;
 import static org.apache.jackrabbit.oak.plugins.version.Utils.primaryTypeOf;
 import static org.apache.jackrabbit.oak.plugins.version.Utils.uuidFromNode;
 
@@ -55,7 +56,6 @@ import javax.jcr.Value;
 import javax.jcr.nodetype.PropertyDefinition;
 import javax.jcr.version.OnParentVersionAction;
 
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.oak.api.CommitFailedException;
 import org.apache.jackrabbit.oak.api.PropertyState;
 import org.apache.jackrabbit.oak.api.Tree;
@@ -187,7 +187,7 @@ class VersionableState {
         frozen.setProperty(JCR_PRIMARYTYPE, NT_FROZENNODE, Type.NAME);
         List<String> mixinTypes;
         if (node.hasProperty(JCR_MIXINTYPES)) {
-            mixinTypes = Lists.newArrayList(node.getNames(JCR_MIXINTYPES));
+            mixinTypes = toList(node.getNames(JCR_MIXINTYPES));
         } else {
             mixinTypes = Collections.emptyList();
         }
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java
index 278d7b9669..85e503586f 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java
@@ -14,7 +14,7 @@
 package org.apache.jackrabbit.oak.query;
 
 import static java.util.Objects.requireNonNull;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.oak.query.ast.AstElementFactory.copyElementAndCheckReference;
 
 import java.math.BigInteger;
@@ -825,7 +825,7 @@ public class QueryImpl implements Query {
         MeasuringIterator(Query query, Iterator<ResultRowImpl> delegate) {
             this.query = query;
             this.delegate = delegate;
-            results = Lists.newArrayList();
+            results = new ArrayList<>();
         }
 
         @Override
@@ -1542,7 +1542,7 @@ public class QueryImpl implements Query {
             throw new IllegalStateException("QueryImpl cannot be cloned once initialised.");
         }
         
-        List<ColumnImpl> cols = newArrayList();
+        List<ColumnImpl> cols = new ArrayList<>();
         for (ColumnImpl c : columns) {
             cols.add((ColumnImpl) copyElementAndCheckReference(c));
         }
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/AndImpl.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/AndImpl.java
index 1c7c2f607d..8452f18910 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/AndImpl.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/AndImpl.java
@@ -18,8 +18,8 @@
  */
 package org.apache.jackrabbit.oak.query.ast;
 
+import static org.apache.jackrabbit.oak.commons.collections.CollectionUtils.toList;
 import static org.apache.jackrabbit.oak.commons.conditions.Validate.checkArgument;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
 
 import static org.apache.jackrabbit.oak.query.ast.AstElementFactory.copyElementAndCheckReference;
 
@@ -61,7 +61,7 @@ public class AndImpl extends ConstraintImpl {
     public ConstraintImpl simplify() {
         // Use LinkedHashSet to eliminate duplicate constraints while keeping
         // the ordering for test cases (and clients?) that depend on it
-        LinkedHashSet<ConstraintImpl> simplified = new LinkedHashSet<>();
+        Set<ConstraintImpl> simplified = new LinkedHashSet<>();
         boolean changed = false; // keep track of changes in simplification
 
         for (ConstraintImpl constraint : constraints) {
@@ -82,7 +82,7 @@ public class AndImpl extends ConstraintImpl {
         if (simplified.size() == 1) {
             return simplified.iterator().next();
         } else if (changed) {
-            return new AndImpl(newArrayList(simplified));
+            return new AndImpl(toList(simplified));
         } else {
             return this;
         }
@@ -91,7 +91,7 @@ public class AndImpl extends ConstraintImpl {
     @Override
     ConstraintImpl not() {
         // not (X and Y) == (not X) or (not Y)
-        List<ConstraintImpl> list = newArrayList();
+        List<ConstraintImpl> list = new ArrayList<>();
         for (ConstraintImpl constraint : constraints) {
             list.add(new NotImpl(constraint));
         }
@@ -109,7 +109,7 @@ public class AndImpl extends ConstraintImpl {
     
     @Override
     public FullTextExpression getFullTextConstraint(SelectorImpl s) {
-        List<FullTextExpression> list = newArrayList();
+        List<FullTextExpression> list = new ArrayList<>();
         for (ConstraintImpl constraint : constraints) {
             FullTextExpression expression = constraint.getFullTextConstraint(s);
             if (expression != null) {
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/InImpl.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/InImpl.java
index bddbdb1f89..c53d6dbb22 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/InImpl.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/InImpl.java
@@ -18,7 +18,7 @@
  */
 package org.apache.jackrabbit.oak.query.ast;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+import static org.apache.jackrabbit.oak.commons.collections.CollectionUtils.toList;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -66,7 +66,7 @@ public class InImpl extends ConstraintImpl {
             return new ComparisonImpl(
                     operand1, Operator.EQUAL, set.iterator().next());
         } else if (set.size() != operand2.size()) {
-            return new InImpl(operand1, newArrayList(set));
+            return new InImpl(operand1, toList(set));
         } else {
             return this;
         }
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/OrImpl.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/OrImpl.java
index e02bd78b29..b7464ded18 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/OrImpl.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/OrImpl.java
@@ -18,11 +18,13 @@
  */
 package org.apache.jackrabbit.oak.query.ast;
 
+import static org.apache.jackrabbit.oak.commons.collections.CollectionUtils.toList;
 import static org.apache.jackrabbit.oak.commons.conditions.Validate.checkArgument;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.oak.query.ast.AstElementFactory.copyElementAndCheckReference;
 import static org.apache.jackrabbit.oak.query.ast.Operator.EQUAL;
 
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashSet;
 import java.util.Iterator;
@@ -36,7 +38,6 @@ import org.apache.jackrabbit.oak.spi.query.fulltext.FullTextExpression;
 import org.apache.jackrabbit.oak.spi.query.fulltext.FullTextOr;
 import org.apache.jackrabbit.oak.query.index.FilterImpl;
 
-
 /**
  * An "or" condition.
  */
@@ -114,14 +115,14 @@ public class OrImpl extends ConstraintImpl {
                         entry.getKey(), EQUAL, values.iterator().next()));
             } else {
                 simplified.add(new InImpl(
-                        entry.getKey(), newArrayList(values)));
+                        entry.getKey(), toList(values)));
             }
         }
 
         if (simplified.size() == 1) {
             return simplified.iterator().next();
         } else if (changed) {
-            return new OrImpl(newArrayList(simplified));
+            return new OrImpl(toList(simplified));
         } else {
             return this;
         }
@@ -130,7 +131,7 @@ public class OrImpl extends ConstraintImpl {
     @Override
     ConstraintImpl not() {
         // not (X or Y) == (not X) and (not Y)
-        List<ConstraintImpl> list = newArrayList();
+        List<ConstraintImpl> list = new ArrayList<>();
         for (ConstraintImpl constraint : getConstraints()) {
             list.add(new NotImpl(constraint));
         }
@@ -154,7 +155,7 @@ public class OrImpl extends ConstraintImpl {
     
     @Override
     public FullTextExpression getFullTextConstraint(SelectorImpl s) {
-        List<FullTextExpression> list = newArrayList();
+        List<FullTextExpression> list = new ArrayList<>();
         for (ConstraintImpl constraint : constraints) {
             FullTextExpression expression = constraint.getFullTextConstraint(s);
             if (expression != null) {
@@ -246,7 +247,7 @@ public class OrImpl extends ConstraintImpl {
         LinkedHashSet<StaticOperandImpl> values = new LinkedHashSet<>();
  
         boolean multiPropertyOr = false;
-        List<AndImpl> ands = newArrayList();
+        List<AndImpl> ands = new ArrayList<>();
         for (ConstraintImpl constraint : constraints) {
             Set<SelectorImpl> selectors = constraint.getSelectors();
             if (selectors.size() != 1 || !selectors.contains(s)) {
@@ -309,7 +310,7 @@ public class OrImpl extends ConstraintImpl {
             }
         }
 
-        InImpl in = new InImpl(operand, newArrayList(values));
+        InImpl in = new InImpl(operand, toList(values));
         in.setQuery(query);
         in.restrictPushDown(s);
     }
@@ -346,7 +347,7 @@ public class OrImpl extends ConstraintImpl {
 
     @Override
     public AstElement copyOf() {
-        List<ConstraintImpl> clone = newArrayList();
+        List<ConstraintImpl> clone = new ArrayList<>();
         for (ConstraintImpl c : constraints) {
             clone.add((ConstraintImpl) copyElementAndCheckReference(c));
         }
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/SelectorImpl.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/SelectorImpl.java
index d0a592a1fa..e6012e1d19 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/SelectorImpl.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/SelectorImpl.java
@@ -19,7 +19,7 @@
 package org.apache.jackrabbit.oak.query.ast;
 
 import static java.util.Objects.requireNonNull;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.JcrConstants.NT_BASE;
 
 import java.util.ArrayList;
@@ -173,7 +173,7 @@ public class SelectorImpl extends SourceImpl {
      * other part of the condition can't be evaluated until b is available.
      * These constraints are collected during the prepare phase.
      */
-    private final List<ConstraintImpl> selectorConstraints = newArrayList();
+    private final List<ConstraintImpl> selectorConstraints = new ArrayList<>();
     
     private Cursor cursor;
     private IndexRow currentRow;
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/ACL.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/ACL.java
index 026fa5eb68..963c7eb3b9 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/ACL.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/ACL.java
@@ -23,6 +23,8 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.stream.Collectors;
+
 import javax.jcr.RepositoryException;
 import javax.jcr.Value;
 import javax.jcr.security.AccessControlEntry;
@@ -30,7 +32,6 @@ import javax.jcr.security.AccessControlException;
 import javax.jcr.security.Privilege;
 
 import org.apache.jackrabbit.guava.common.collect.Iterables;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.api.security.authorization.PrivilegeManager;
 import org.apache.jackrabbit.oak.namepath.NamePathMapper;
 import org.apache.jackrabbit.oak.spi.security.authorization.accesscontrol.ACE;
@@ -164,8 +165,8 @@ abstract class ACL extends AbstractAccessControlList {
     private boolean internalAddEntry(@NotNull ACE entry) throws RepositoryException {
         final String principalName = entry.getPrincipal().getName();
         final Set<Restriction> restrictions = entry.getRestrictions();
-        List<ACE> subList = Lists.newArrayList(Iterables.filter(entries, ace ->
-                principalName.equals(requireNonNull(ace).getPrincipal().getName()) && restrictions.equals(ace.getRestrictions())));
+        List<ACE> subList = entries.stream().filter(ace -> principalName.equals(requireNonNull(ace).getPrincipal().getName())
+                && restrictions.equals(ace.getRestrictions())).collect(Collectors.toList());
 
         boolean addEntry = true;
         for (ACE existing : subList) {
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlManagerImpl.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlManagerImpl.java
index a392cd43a3..4feec20872 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlManagerImpl.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlManagerImpl.java
@@ -43,7 +43,6 @@ import javax.jcr.security.Privilege;
 
 import org.apache.jackrabbit.guava.common.base.Strings;
 import org.apache.jackrabbit.guava.common.collect.Iterables;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.JcrConstants;
 import org.apache.jackrabbit.api.security.JackrabbitAccessControlList;
 import org.apache.jackrabbit.api.security.JackrabbitAccessControlPolicy;
@@ -91,6 +90,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import static java.util.Objects.requireNonNull;
+import static org.apache.jackrabbit.oak.commons.collections.CollectionUtils.toList;
 
 /**
  * Default implementation of the {@code JackrabbitAccessControlManager} interface.
@@ -219,7 +219,7 @@ public class AccessControlManagerImpl extends AbstractAccessControlManager imple
         AccessControlPolicy[] plcs = getPolicies(principalAcl.principal);
         PrincipalACL existing = (plcs.length == 0) ? null : (PrincipalACL) plcs[0];
 
-        List<ACE> toAdd = Lists.newArrayList(principalAcl.getEntries());
+        List<ACE> toAdd = toList(principalAcl.getEntries());
         List<ACE> toRemove = Collections.emptyList();
         if (existing != null) {
             toAdd.removeAll(existing.getEntries());
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAccessControlManager.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAccessControlManager.java
index ea8d48813d..0c68a5e047 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAccessControlManager.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAccessControlManager.java
@@ -17,6 +17,7 @@
 package org.apache.jackrabbit.oak.security.authorization.composite;
 
 import java.security.Principal;
+import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
@@ -32,7 +33,6 @@ import javax.jcr.security.Privilege;
 import org.apache.jackrabbit.guava.common.collect.ImmutableList;
 import org.apache.jackrabbit.guava.common.collect.ImmutableSet;
 import org.apache.jackrabbit.guava.common.collect.Iterators;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.api.security.JackrabbitAccessControlManager;
 import org.apache.jackrabbit.api.security.JackrabbitAccessControlPolicy;
 import org.apache.jackrabbit.commons.iterator.AccessControlPolicyIteratorAdapter;
@@ -103,7 +103,7 @@ class CompositeAccessControlManager extends AbstractAccessControlManager {
 
     @Override
     public AccessControlPolicyIterator getApplicablePolicies(String absPath) throws RepositoryException {
-        List<AccessControlPolicyIterator> l = Lists.newArrayList();
+        List<AccessControlPolicyIterator> l = new ArrayList<>();
         for (AccessControlManager acMgr : acMgrs) {
             if (acMgr instanceof PolicyOwner) {
                 l.add(acMgr.getApplicablePolicies(absPath));
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/MountPermissionProvider.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/MountPermissionProvider.java
index 7ab2837461..226c0755ce 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/MountPermissionProvider.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/MountPermissionProvider.java
@@ -17,6 +17,7 @@
 package org.apache.jackrabbit.oak.security.authorization.permission;
 
 import java.security.Principal;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 import java.util.Set;
@@ -31,8 +32,6 @@ import org.apache.jackrabbit.oak.spi.security.authorization.restriction.Restrict
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
-
 public class MountPermissionProvider extends PermissionProviderImpl {
 
     @NotNull
@@ -57,7 +56,7 @@ public class MountPermissionProvider extends PermissionProviderImpl {
     @NotNull
     @Override
     protected PermissionStore getPermissionStore(@NotNull Root root, @NotNull String workspaceName, @NotNull RestrictionProvider restrictionProvider) {
-        List<PermissionStore> stores = newArrayList();
+        List<PermissionStore> stores = new ArrayList<>();
         stores.add(super.getPermissionStore(root, workspaceName, restrictionProvider));
         for (Mount m : mountInfoProvider.getNonDefaultMounts()) {
             String psRoot = getPermissionRootName(m, workspaceName);
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/internal/SecurityProviderRegistration.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/internal/SecurityProviderRegistration.java
index 5bddaf2dd4..00e91753e0 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/internal/SecurityProviderRegistration.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/internal/SecurityProviderRegistration.java
@@ -76,6 +76,7 @@ import org.slf4j.LoggerFactory;
 
 import javax.jcr.security.AccessControlManager;
 import java.security.Principal;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Dictionary;
@@ -86,7 +87,6 @@ import java.util.Set;
 import java.util.SortedMap;
 import java.util.TreeMap;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
 import static org.apache.jackrabbit.oak.commons.IOUtils.closeQuietly;
 import static org.apache.jackrabbit.oak.spi.security.ConfigurationParameters.EMPTY;
 import static org.apache.jackrabbit.oak.spi.security.RegistrationConstants.OAK_SECURITY_NAME;
@@ -599,7 +599,7 @@ public class SecurityProviderRegistration {
             protected List<RestrictionProvider> getServices() {
                 Collection<RestrictionProvider> values = restrictionProviders.values();
                 synchronized (restrictionProviders) {
-                    return newArrayList(values);
+                    return new ArrayList<>(values);
                 }
             }
 
@@ -613,7 +613,7 @@ public class SecurityProviderRegistration {
             protected List<AuthorizableActionProvider> getServices() {
                 Collection<AuthorizableActionProvider> values = authorizableActionProviders.values();
                 synchronized (authorizableActionProviders) {
-                    return newArrayList(values);
+                    return new ArrayList<>(values);
                 }
             }
 
@@ -627,7 +627,7 @@ public class SecurityProviderRegistration {
             protected List<AuthorizableNodeName> getServices() {
                 Collection<AuthorizableNodeName> values = authorizableNodeNames.values();
                 synchronized (authorizableNodeNames) {
-                    return newArrayList(values);
+                    return new ArrayList<>(values);
                 }
             }
 
@@ -641,7 +641,7 @@ public class SecurityProviderRegistration {
             protected List<UserAuthenticationFactory> getServices() {
                 Collection<UserAuthenticationFactory> values = userAuthenticationFactories.values();
                 synchronized (userAuthenticationFactories) {
-                    return newArrayList(values);
+                    return new ArrayList<>(values);
                 }
             }
 
@@ -651,7 +651,7 @@ public class SecurityProviderRegistration {
     private AggregationFilter createAggregationFilter() {
         List<AggregationFilter> filters;
         synchronized (aggregationFilters) {
-            filters = newArrayList(aggregationFilters.values());
+            filters = new ArrayList<>(aggregationFilters.values());
         }
         switch (filters.size()) {
             case 0: return AggregationFilter.DEFAULT;
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/PasswordHistory.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/PasswordHistory.java
index e0715a427c..2a8e648145 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/PasswordHistory.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/PasswordHistory.java
@@ -16,13 +16,14 @@
  */
 package org.apache.jackrabbit.oak.security.user;
 
+import static org.apache.jackrabbit.oak.commons.collections.CollectionUtils.toList;
+
 import java.util.ArrayList;
 import java.util.List;
 import javax.jcr.AccessDeniedException;
 import javax.jcr.nodetype.ConstraintViolationException;
 
 import org.apache.jackrabbit.guava.common.collect.Iterables;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.oak.api.PropertyState;
 import org.apache.jackrabbit.oak.api.Tree;
 import org.apache.jackrabbit.oak.api.Type;
@@ -86,7 +87,7 @@ final class PasswordHistory implements UserConstants {
             PropertyState historyProp = passwordTree.getProperty(UserConstants.REP_PWD_HISTORY);
 
             // insert the current (old) password at the beginning of the password history
-            List<String> historyEntries = (historyProp == null) ? new ArrayList<>() : Lists.newArrayList(historyProp.getValue(Type.STRINGS));
+            List<String> historyEntries = (historyProp == null) ? new ArrayList<>() : toList(historyProp.getValue(Type.STRINGS));
             historyEntries.add(0, currentPasswordHash);
 
             /* remove oldest history entries exceeding configured history max size (e.g. after
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/AbstractSecurityTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/AbstractSecurityTest.java
index db8708e12e..0e1e93dcda 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/AbstractSecurityTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/AbstractSecurityTest.java
@@ -17,6 +17,7 @@
 package org.apache.jackrabbit.oak;
 
 import java.security.Principal;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Set;
@@ -72,8 +73,6 @@ import org.junit.After;
 import org.junit.Before;
 import org.mockito.Mockito;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
-
 /**
  * AbstractOakTest is the base class for oak test execution.
  */
@@ -224,7 +223,7 @@ public abstract class AbstractSecurityTest {
 
     protected Privilege[] privilegesFromNames(Iterable<String> privilegeNames) throws RepositoryException {
         PrivilegeManager manager = getPrivilegeManager(root);
-        List<Privilege> privs = newArrayList();
+        List<Privilege> privs = new ArrayList<>();
         for (String name : privilegeNames) {
             privs.add(manager.getPrivilege(name));
         }
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/OakTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/OakTest.java
index 4eddef104c..592429fe76 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/OakTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/OakTest.java
@@ -17,6 +17,7 @@
 package org.apache.jackrabbit.oak;
 
 import java.io.Closeable;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.Executors;
@@ -26,7 +27,6 @@ import java.util.concurrent.atomic.AtomicReference;
 
 import javax.jcr.NoSuchWorkspaceException;
 
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.oak.api.CommitFailedException;
 import org.apache.jackrabbit.oak.api.ContentRepository;
 import org.apache.jackrabbit.oak.api.ContentSession;
@@ -217,7 +217,7 @@ public class OakTest {
     }
 
     private static class CommitInfoCapturingStore extends MemoryNodeStore {
-        List<CommitInfo> infos = Lists.newArrayList();
+        List<CommitInfo> infos = new ArrayList<>();
 
         @Override
         public synchronized NodeState merge(@NotNull NodeBuilder builder, @NotNull CommitHook commitHook,
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdateTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdateTest.java
index 9d7c262e31..715b2a2a2a 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdateTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdateTest.java
@@ -1759,7 +1759,7 @@ public class AsyncIndexUpdateTest {
     public void checkpointLostEventualConsistent() throws Exception {
 
         MemoryNodeStore store = new MemoryNodeStore();
-        final List<NodeState> rootStates = Lists.newArrayList();
+        final List<NodeState> rootStates = new ArrayList<>();
         store.addObserver(new Observer() {
             @Override
             public void contentChanged(@NotNull NodeState root, @Nullable CommitInfo info) {
@@ -2295,7 +2295,7 @@ public class AsyncIndexUpdateTest {
     }
 
     static class CommitInfoCollector implements Observer {
-        List<CommitInfo> infos = Lists.newArrayList();
+        List<CommitInfo> infos = new ArrayList<>();
 
         @Override
         public void contentChanged(@NotNull NodeState root, @NotNull CommitInfo info) {
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/IndexInfoServiceImplTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/IndexInfoServiceImplTest.java
index 5126db662c..fd344cd066 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/IndexInfoServiceImplTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/IndexInfoServiceImplTest.java
@@ -22,7 +22,6 @@ package org.apache.jackrabbit.oak.plugins.index;
 import java.util.Collections;
 import java.util.List;
 
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.oak.plugins.memory.MemoryNodeStore;
 import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
 import org.apache.jackrabbit.oak.spi.commit.EmptyHook;
@@ -34,6 +33,7 @@ import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 
+import static org.apache.jackrabbit.oak.commons.collections.CollectionUtils.toList;
 import static org.junit.Assert.*;
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.mock;
@@ -89,7 +89,7 @@ public class IndexInfoServiceImplTest {
 
     @Test
     public void allIndexInfo() throws Exception{
-        pathService.paths = Lists.newArrayList("/oak:index/a", "/oak:index/b", "/oak:index/c", "/oak:index/d");
+        pathService.paths = List.of("/oak:index/a", "/oak:index/b", "/oak:index/c", "/oak:index/d");
 
         NodeBuilder builder = store.getRoot().builder();
         builder.child("oak:index").child("a"); //Index with no type
@@ -113,7 +113,7 @@ public class IndexInfoServiceImplTest {
         service.bindInfoProviders(type_c);
         service.bindInfoProviders(type_d);
 
-        List<IndexInfo> infos = Lists.newArrayList(service.getAllIndexInfo());
+        List<IndexInfo> infos = toList(service.getAllIndexInfo());
 
         //Result would only have 2 entries. One throwing exception would be ignored
         assertEquals(2, infos.size());
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/IndexPathServiceImplTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/IndexPathServiceImplTest.java
index e9f8b408b8..080f456fe3 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/IndexPathServiceImplTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/IndexPathServiceImplTest.java
@@ -16,13 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.jackrabbit.oak.plugins.index;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.JcrConstants;
 import org.apache.jackrabbit.oak.InitialContent;
 import org.apache.jackrabbit.oak.Oak;
@@ -30,7 +29,6 @@ import org.apache.jackrabbit.oak.api.CommitFailedException;
 import org.apache.jackrabbit.oak.api.ContentRepository;
 import org.apache.jackrabbit.oak.api.Tree;
 import org.apache.jackrabbit.oak.api.Type;
-import org.apache.jackrabbit.oak.commons.collections.CollectionUtils;
 import org.apache.jackrabbit.oak.plugins.index.nodetype.NodeTypeIndexProvider;
 import org.apache.jackrabbit.oak.plugins.index.property.PropertyIndexEditorProvider;
 import org.apache.jackrabbit.oak.plugins.memory.MemoryNodeStore;
@@ -39,6 +37,8 @@ import org.apache.jackrabbit.oak.spi.security.OpenSecurityProvider;
 import org.apache.jackrabbit.oak.spi.state.NodeStore;
 import org.junit.Test;
 
+import static org.apache.jackrabbit.oak.commons.collections.CollectionUtils.toList;
+import static org.apache.jackrabbit.oak.commons.collections.CollectionUtils.toSet;
 import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.DECLARING_NODE_TYPES;
 import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.INDEX_DEFINITIONS_NODE_TYPE;
 import static org.hamcrest.Matchers.hasItem;
@@ -61,7 +61,7 @@ public class IndexPathServiceImplTest extends AbstractQueryTest {
 
     @Test
     public void noErrorIfQueryDefinitionsNotIndexed() throws Exception{
-        Set<String> paths = CollectionUtils.toSet(indexPathService.getIndexPaths());
+        Set<String> paths = toSet(indexPathService.getIndexPaths());
         assertThat(paths, hasItem("/oak:index/uuid"));
     }
 
@@ -76,7 +76,7 @@ public class IndexPathServiceImplTest extends AbstractQueryTest {
     @Test
     public void nodeTypeIndexed() throws Exception{
         enableIndexDefinitionIndex();
-        Set<String> paths = CollectionUtils.toSet(indexPathService.getIndexPaths());
+        Set<String> paths = toSet(indexPathService.getIndexPaths());
         assertThat(paths, hasItem("/oak:index/uuid"));
         assertThat(paths, hasItem("/oak:index/nodetype"));
         assertThat(paths, hasItem("/oak:index/reference"));
@@ -91,7 +91,7 @@ public class IndexPathServiceImplTest extends AbstractQueryTest {
         fooIndex.setProperty("type", "disabled");
         root.commit();
 
-        Set<String> paths = CollectionUtils.toSet(indexPathService.getIndexPaths());
+        Set<String> paths = toSet(indexPathService.getIndexPaths());
         assertThat(paths, hasItem("/a/b/oak:index/fooIndex"));
     }
 
@@ -99,9 +99,9 @@ public class IndexPathServiceImplTest extends AbstractQueryTest {
         Tree nodetype = root.getTree("/oak:index/nodetype");
         assertTrue(nodetype.exists());
 
-        List<String> nodetypes = Lists.newArrayList();
+        List<String> nodetypes = new ArrayList<>();
         if (nodetype.hasProperty(DECLARING_NODE_TYPES)){
-            nodetypes = Lists.newArrayList(nodetype.getProperty(DECLARING_NODE_TYPES).getValue(Type.STRINGS));
+            nodetypes = toList(nodetype.getProperty(DECLARING_NODE_TYPES).getValue(Type.STRINGS));
         }
 
         nodetypes.add(INDEX_DEFINITIONS_NODE_TYPE);
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/IndexUtilsTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/IndexUtilsTest.java
index a5b9036de9..0bafbff8d3 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/IndexUtilsTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/IndexUtilsTest.java
@@ -16,8 +16,8 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.jackrabbit.oak.plugins.index;
+
 import org.apache.jackrabbit.oak.api.Type;
 import org.apache.jackrabbit.oak.plugins.memory.MemoryNodeStore;
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
@@ -27,24 +27,23 @@ import org.junit.Test;
 
 import java.util.Iterator;
 import java.util.LinkedHashSet;
+import java.util.List;
 import java.util.Set;
 import java.util.Map;
 import java.util.LinkedHashMap;
 import java.util.Calendar;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
 import static org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.EMPTY_NODE;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
-
 public class IndexUtilsTest {
-    
+
     // all relevant package TLDs
     private static final String[] ALL_CLASSES_IGNORED = new String[] {"org", "com", "sun", "jdk", "java"};
-    
+
     // all packages used with Oak
     private static final String[] OAK_CLASSES_IGNORED = new String[] {"org.apache.jackrabbit", "java.lang", "sun.reflect", "jdk"};
 
@@ -57,10 +56,10 @@ public class IndexUtilsTest {
         assertNull(IndexUtils.getAsyncLaneName(EMPTY_NODE, "/fooIndex"));
 
         NodeBuilder builder = EMPTY_NODE.builder();
-        builder.setProperty("async", newArrayList("async2", "sync"), Type.STRINGS);
+        builder.setProperty("async", List.of("async2", "sync"), Type.STRINGS);
         assertEquals("async2", IndexUtils.getAsyncLaneName(builder.getNodeState(), "/fooIndex"));
 
-        builder.setProperty("async", newArrayList("async3"), Type.STRINGS);
+        builder.setProperty("async", List.of("async3"), Type.STRINGS);
         assertEquals("async3", IndexUtils.getAsyncLaneName(builder.getNodeState(), "/fooIndex"));
     }
 
@@ -68,9 +67,9 @@ public class IndexUtilsTest {
     public void getCaller() {
         assertNotNull(IndexUtils.getCaller(null));
         assertNotNull(IndexUtils.getCaller(new String[0]));
-        
+
         assertEquals("(internal)",IndexUtils.getCaller(ALL_CLASSES_IGNORED));
-        
+
         String caller = IndexUtils.getCaller(OAK_CLASSES_IGNORED);
         assertTrue(caller.startsWith("org.junit.runners"));
     }
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/aggregate/SimpleNodeAggregatorTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/aggregate/SimpleNodeAggregatorTest.java
index cc5a52b379..bdf795cebf 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/aggregate/SimpleNodeAggregatorTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/aggregate/SimpleNodeAggregatorTest.java
@@ -18,13 +18,13 @@
  */
 package org.apache.jackrabbit.oak.plugins.index.aggregate;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
 import static org.apache.jackrabbit.JcrConstants.JCR_CONTENT;
 import static org.apache.jackrabbit.JcrConstants.JCR_PRIMARYTYPE;
 import static org.apache.jackrabbit.JcrConstants.NT_FILE;
 import static org.apache.jackrabbit.JcrConstants.NT_FOLDER;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
+import static org.apache.jackrabbit.oak.commons.collections.CollectionUtils.toList;
 import static org.apache.jackrabbit.oak.plugins.index.aggregate.SimpleNodeAggregator.INCLUDE_ALL;
 
 import java.util.List;
@@ -47,13 +47,13 @@ public class SimpleNodeAggregatorTest {
         file.child(JCR_CONTENT);
 
         SimpleNodeAggregator agg = new SimpleNodeAggregator().newRuleWithName(
-                NT_FILE, newArrayList(JCR_CONTENT));
+                NT_FILE, List.of(JCR_CONTENT));
 
         String path = "/file/jcr:content";
-        List<String> actual = newArrayList(agg.getParents(
+        List<String> actual = toList(agg.getParents(
                 builder.getNodeState(), path));
 
-        assertEquals(newArrayList("/file"), actual);
+        assertEquals(List.of("/file"), actual);
 
     }
 
@@ -68,10 +68,10 @@ public class SimpleNodeAggregatorTest {
         file.child(JCR_CONTENT);
 
         SimpleNodeAggregator agg = new SimpleNodeAggregator().newRuleWithName(
-                NT_FILE, newArrayList(JCR_CONTENT));
+                NT_FILE, List.of(JCR_CONTENT));
 
         String path = "/file/jcr:content";
-        List<String> actual = newArrayList(agg.getParents(
+        List<String> actual = toList(agg.getParents(
                 builder.getNodeState(), path));
 
         assertTrue(actual.isEmpty());
@@ -89,13 +89,13 @@ public class SimpleNodeAggregatorTest {
         file.child(JCR_CONTENT);
 
         SimpleNodeAggregator agg = new SimpleNodeAggregator().newRuleWithName(
-                NT_FILE, newArrayList(INCLUDE_ALL));
+                NT_FILE, List.of(INCLUDE_ALL));
 
         String path = "/file/jcr:content";
-        List<String> actual = newArrayList(agg.getParents(
+        List<String> actual = toList(agg.getParents(
                 builder.getNodeState(), path));
 
-        assertEquals(newArrayList("/file"), actual);
+        assertEquals(List.of("/file"), actual);
 
     }
 
@@ -110,13 +110,13 @@ public class SimpleNodeAggregatorTest {
         file.child(JCR_CONTENT);
 
         SimpleNodeAggregator agg = new SimpleNodeAggregator().newRuleWithName(
-                NT_FILE, newArrayList("*", "*/*", "*/*/*", "*/*/*/*"));
+                NT_FILE, List.of("*", "*/*", "*/*/*", "*/*/*/*"));
 
         String path = "/file/jcr:content";
-        List<String> actual = newArrayList(agg.getParents(
+        List<String> actual = toList(agg.getParents(
                 builder.getNodeState(), path));
 
-        assertEquals(newArrayList("/file"), actual);
+        assertEquals(List.of("/file"), actual);
 
     }
 
@@ -131,10 +131,10 @@ public class SimpleNodeAggregatorTest {
         file.child(JCR_CONTENT);
 
         SimpleNodeAggregator agg = new SimpleNodeAggregator().newRuleWithName(
-                NT_FILE, newArrayList(INCLUDE_ALL));
+                NT_FILE, List.of(INCLUDE_ALL));
 
         String path = "/file/jcr:content";
-        List<String> actual = newArrayList(agg.getParents(
+        List<String> actual = toList(agg.getParents(
                 builder.getNodeState(), path));
 
         assertTrue(actual.isEmpty());
@@ -155,14 +155,14 @@ public class SimpleNodeAggregatorTest {
         file.child(JCR_CONTENT);
 
         SimpleNodeAggregator agg = new SimpleNodeAggregator().newRuleWithName(
-                NT_FOLDER, newArrayList("file")).newRuleWithName(NT_FILE,
-                newArrayList(INCLUDE_ALL));
+                NT_FOLDER, List.of("file")).newRuleWithName(NT_FILE,
+                List.of(INCLUDE_ALL));
 
         String path = "/folder/file/jcr:content";
-        List<String> actual = newArrayList(agg.getParents(
+        List<String> actual = toList(agg.getParents(
                 builder.getNodeState(), path));
 
-        assertEquals(newArrayList("/folder/file", "/folder"), actual);
+        assertEquals(List.of("/folder/file", "/folder"), actual);
 
     }
 
@@ -180,14 +180,14 @@ public class SimpleNodeAggregatorTest {
         file.child(JCR_CONTENT);
 
         SimpleNodeAggregator agg = new SimpleNodeAggregator().newRuleWithName(
-                NT_FOLDER, newArrayList("file")).newRuleWithName(NT_FILE,
-                newArrayList(JCR_CONTENT));
+                NT_FOLDER, List.of("file")).newRuleWithName(NT_FILE,
+                List.of(JCR_CONTENT));
 
         String path = "/folder/file/jcr:content";
-        List<String> actual = newArrayList(agg.getParents(
+        List<String> actual = toList(agg.getParents(
                 builder.getNodeState(), path));
 
-        assertEquals(newArrayList("/folder/file", "/folder"), actual);
+        assertEquals(List.of("/folder/file", "/folder"), actual);
 
     }
 
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/inventory/IndexDefinitionPrinterTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/inventory/IndexDefinitionPrinterTest.java
index 29b65e3789..453c891bb0 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/inventory/IndexDefinitionPrinterTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/inventory/IndexDefinitionPrinterTest.java
@@ -16,13 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.jackrabbit.oak.plugins.index.inventory;
 
 import java.io.PrintWriter;
 import java.io.StringWriter;
+import java.util.List;
 
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.felix.inventory.Format;
 import org.apache.jackrabbit.oak.plugins.index.IndexPathService;
 import org.apache.jackrabbit.oak.plugins.index.importer.IndexDefinitionUpdater;
@@ -59,7 +58,7 @@ public class IndexDefinitionPrinterTest {
 
         store.merge(builder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
 
-        when(pathService.getIndexPaths()).thenReturn(Lists.newArrayList("/a", "/b"));
+        when(pathService.getIndexPaths()).thenReturn(List.of("/a", "/b"));
 
         String json = getJSON();
 
@@ -81,7 +80,7 @@ public class IndexDefinitionPrinterTest {
         builder.child("a").setProperty("foo", new ArrayBasedBlob("hello".getBytes()));
         store.merge(builder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
 
-        when(pathService.getIndexPaths()).thenReturn(Lists.newArrayList("/a"));
+        when(pathService.getIndexPaths()).thenReturn(List.of("/a"));
 
         String json = getJSON();
 
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/MultiPropertyOrTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/MultiPropertyOrTest.java
index 65a9b13d85..9e00c5f670 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/MultiPropertyOrTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/MultiPropertyOrTest.java
@@ -18,19 +18,20 @@ package org.apache.jackrabbit.oak.plugins.index.property;
 
 import static java.util.Arrays.asList;
 import static org.apache.jackrabbit.oak.api.QueryEngine.NO_MAPPINGS;
+import static org.apache.jackrabbit.oak.commons.collections.CollectionUtils.toList;
 import static org.hamcrest.CoreMatchers.containsString;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertThat;
 import static org.junit.Assert.assertTrue;
 
 import java.text.ParseException;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Random;
 
 import javax.jcr.query.Query;
 
 import org.apache.jackrabbit.guava.common.collect.ImmutableList;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.guava.common.collect.Maps;
 import org.apache.jackrabbit.oak.Oak;
 import org.apache.jackrabbit.oak.api.ContentRepository;
@@ -120,7 +121,7 @@ public class MultiPropertyOrTest extends AbstractQueryTest {
         Tree test = root.getTree("/").addChild("test");
         root.commit();
 
-        List<Integer> nodes = Lists.newArrayList();
+        List<Integer> nodes = new ArrayList<>();
         Random r = new Random(1);
         for (int i = 0; i < 1000; i++) {
             Tree a = test.addChild("a" + i);
@@ -185,7 +186,7 @@ public class MultiPropertyOrTest extends AbstractQueryTest {
     }
 
     private String measureWithLimit(String query, String lang, int limit) throws ParseException {
-        List<? extends ResultRow> result = Lists.newArrayList(
+        List<? extends ResultRow> result = toList(
             qe.executeQuery(query, lang, limit, 0, Maps.<String, PropertyValue>newHashMap(),
                 NO_MAPPINGS).getRows());
 
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexLookupTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexLookupTest.java
index 1ec46563c6..84cd47ad40 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexLookupTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexLookupTest.java
@@ -47,8 +47,8 @@ import static org.junit.Assert.assertNotNull;
 
 public class PropertyIndexLookupTest {
 
-    private static final List<String> PROP_NAMES = Lists.newArrayList("jcr:primaryType", "jcr:mixinTypes");
-    private static final List<String> DECL_NODE_TYPES = Lists.newArrayList("nt:unstructured", "mix:versionable");
+    private static final List<String> PROP_NAMES = List.of("jcr:primaryType", "jcr:mixinTypes");
+    private static final List<String> DECL_NODE_TYPES = List.of("nt:unstructured", "mix:versionable");
 
     private NodeState root;
     private NodeBuilder rootBuilder;
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/SinglePropertyIndexQueryTests.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/SinglePropertyIndexQueryTests.java
index 3f37757728..f909541c2c 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/SinglePropertyIndexQueryTests.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/SinglePropertyIndexQueryTests.java
@@ -17,13 +17,14 @@
 package org.apache.jackrabbit.oak.plugins.index.property;
 
 import static org.apache.jackrabbit.guava.common.collect.ImmutableList.of;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.oak.api.Type.NAMES;
 import static org.apache.jackrabbit.oak.api.Type.STRINGS;
 import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.PROPERTY_NAMES;
 import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.REINDEX_PROPERTY_NAME;
 import static org.apache.jackrabbit.oak.plugins.index.property.PropertyIndexEditorProvider.TYPE;
 
+import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.jackrabbit.oak.Oak;
@@ -36,7 +37,7 @@ import org.junit.Test;
 
 public class SinglePropertyIndexQueryTests extends AbstractQueryTest {
     private static final String INDEXED_PROPERTY = "indexedProperty";
-    
+
     @Override
     protected ContentRepository createRepository() {
         return new Oak().with(new InitialContent())
@@ -60,28 +61,28 @@ public class SinglePropertyIndexQueryTests extends AbstractQueryTest {
             "(@" + INDEXED_PROPERTY + " = 'a' or @" + INDEXED_PROPERTY + " = 'c') " +
             "and " +
             "(@" + INDEXED_PROPERTY + " = 'b' or @" + INDEXED_PROPERTY + " = 'd')]";
-        List<String> expected = newArrayList();
-        
+        List<String> expected = new ArrayList<>();
+
         Tree content = root.getTree("/").addChild("content");
-        
+
         // adding /content/node1 { a, b } 
         Tree node = content.addChild("node1");
         node.setProperty(INDEXED_PROPERTY, of("a", "b"), STRINGS);
         expected.add(node.getPath());
-        
+
         // adding /content/node2 { c, d }
         node = content.addChild("node2");
         node.setProperty(INDEXED_PROPERTY, of("c", "d"), STRINGS);
         expected.add(node.getPath());
-        
+
         // adding nodes with {a, x} and {c, x} these should not be returned
         node = content.addChild("node3");
         node.setProperty(INDEXED_PROPERTY, of("a", "x"), STRINGS);
         node = content.addChild("node4");
         node.setProperty(INDEXED_PROPERTY, of("c", "x"), STRINGS);
-        
+
         root.commit();
-        
+
         assertQuery(statement, "xpath", expected);
     }
 }
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/ValuePatternTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/ValuePatternTest.java
index 02e0e104a9..2d0b2732d7 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/ValuePatternTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/ValuePatternTest.java
@@ -25,6 +25,7 @@ import static org.junit.Assert.assertTrue;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashSet;
+import java.util.List;
 
 import org.apache.jackrabbit.oak.api.PropertyState;
 import org.apache.jackrabbit.oak.api.Type;
@@ -37,28 +38,26 @@ import org.apache.jackrabbit.oak.query.index.FilterImpl;
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
 import org.junit.Test;
 
-import org.apache.jackrabbit.guava.common.collect.Lists;
-
 public class ValuePatternTest {
-    
+
     @Test
     public void getStringsBuilder() {
         NodeBuilder b = new MemoryNodeBuilder(EmptyNodeState.EMPTY_NODE);
         assertNull(ValuePattern.getStrings(b, "x"));
-        
+
         b.setProperty("x", "");
         assertEquals("[]", ValuePattern.getStrings(b, "x").toString());
-        
+
         b.setProperty("x", "test");
         assertEquals("[test]", ValuePattern.getStrings(b, "x").toString());
-        
+
         PropertyState ps = PropertyStates.createProperty(
                 "x",
                 Arrays.asList("hello"),
                 Type.STRINGS);
         b.setProperty(ps);
         assertEquals("[hello]", ValuePattern.getStrings(b, "x").toString());
-        
+
         ps = PropertyStates.createProperty(
                 "x",
                 Arrays.asList(),
@@ -73,25 +72,25 @@ public class ValuePatternTest {
         b.setProperty(ps);
         assertEquals("[a, b]", ValuePattern.getStrings(b, "x").toString());
     }
-    
+
     @Test
     public void getStringsState() {
         NodeBuilder b = new MemoryNodeBuilder(EmptyNodeState.EMPTY_NODE);
         assertNull(ValuePattern.getStrings(b.getNodeState(), "x"));
-        
+
         b.setProperty("x", "");
         assertEquals("[]", ValuePattern.getStrings(b.getNodeState(), "x").toString());
-        
+
         b.setProperty("x", "test");
         assertEquals("[test]", ValuePattern.getStrings(b.getNodeState(), "x").toString());
-        
+
         PropertyState ps = PropertyStates.createProperty(
                 "x",
                 Arrays.asList("hello"),
                 Type.STRINGS);
         b.setProperty(ps);
         assertEquals("[hello]", ValuePattern.getStrings(b.getNodeState(), "x").toString());
-        
+
         ps = PropertyStates.createProperty(
                 "x",
                 Arrays.asList(),
@@ -140,10 +139,10 @@ public class ValuePatternTest {
         // unkown, as we don't do regular expression analysis
         assertFalse(vp.matchesPrefix("x"));
     }
-    
+
     @Test
     public void included() {
-        ValuePattern vp = new ValuePattern(null, Lists.newArrayList("abc", "bcd"), null);
+        ValuePattern vp = new ValuePattern(null, List.of("abc", "bcd"), null);
         assertTrue(vp.matches(null));
         assertTrue(vp.matches("abc1"));
         assertTrue(vp.matches("bcd"));
@@ -161,10 +160,10 @@ public class ValuePatternTest {
         assertTrue(vp.matchesPrefix("abcdef"));
         assertFalse(vp.matchesPrefix("a"));
     }
-    
+
     @Test
     public void excluded() {
-        ValuePattern vp = new ValuePattern(null, null, Lists.newArrayList("abc", "bcd"));
+        ValuePattern vp = new ValuePattern(null, null, List.of("abc", "bcd"));
         assertTrue(vp.matches(null));
         assertFalse(vp.matches("abc1"));
         assertFalse(vp.matches("bcd"));
@@ -182,11 +181,11 @@ public class ValuePatternTest {
         assertFalse(vp.matchesPrefix("abcdef"));
         assertFalse(vp.matchesPrefix("a"));
     }
-    
+
     @Test
     public void longestPrefix() {
         FilterImpl filter;
-        
+
         filter = new FilterImpl(null, null, null);
         filter.restrictProperty("x", Operator.EQUAL, 
                 PropertyValues.newString("hello"));
@@ -300,8 +299,7 @@ public class ValuePatternTest {
         filter.restrictProperty("x", Operator.LESS_THAN,
                 PropertyValues.newString(Arrays.asList("a3", "a4")));
         assertNull(getLongestPrefix(filter, "x"));
-        
+
     }
-    
-    
+
 }
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/jmx/PropertyIndexStatsTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/jmx/PropertyIndexStatsTest.java
index 25f380323b..be21f26dc8 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/jmx/PropertyIndexStatsTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/jmx/PropertyIndexStatsTest.java
@@ -116,7 +116,7 @@ public class PropertyIndexStatsTest {
 
     private static void assertArray(CompositeData cd, String prop, List<String> values){
         String[] a = (String[])cd.get(prop);
-        assertEquals(new HashSet<String>(values), new HashSet<String>(Lists.newArrayList(a)));
+        assertEquals(new HashSet<String>(values), new HashSet<String>(List.of(a)));
     }
 
     private static void setProperty(NodeBuilder builder, String path, String name, String value){
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/reference/ReferenceIndexTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/reference/ReferenceIndexTest.java
index c06a9e2505..a68dee9c23 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/reference/ReferenceIndexTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/reference/ReferenceIndexTest.java
@@ -19,6 +19,7 @@
 
 package org.apache.jackrabbit.oak.plugins.index.reference;
 
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
@@ -48,7 +49,7 @@ import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
 import static org.apache.jackrabbit.guava.common.collect.ImmutableList.of;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.JcrConstants.JCR_UUID;
 import static org.apache.jackrabbit.JcrConstants.NT_BASE;
 import static org.apache.jackrabbit.oak.plugins.memory.PropertyStates.createProperty;
@@ -182,7 +183,7 @@ public class ReferenceIndexTest {
     private static List<String> assertFilter(Filter filter, QueryIndex queryIndex,
                                              NodeState indexed, List<String> expected) {
         Cursor cursor = queryIndex.query(filter, indexed);
-        List<String> paths = newArrayList();
+        List<String> paths = new ArrayList<>();
         while (cursor.hasNext()) {
             paths.add(cursor.next().getPath());
         }
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/metric/MetricStatisticsProviderTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/metric/MetricStatisticsProviderTest.java
index 21183805e1..6f9f43e64a 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/metric/MetricStatisticsProviderTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/metric/MetricStatisticsProviderTest.java
@@ -16,10 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.jackrabbit.oak.plugins.metric;
 
 import java.lang.management.ManagementFactory;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Queue;
 import java.util.Set;
@@ -36,7 +36,6 @@ import javax.management.Query;
 import javax.management.QueryExp;
 
 import com.codahale.metrics.JmxReporter;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.guava.common.util.concurrent.Uninterruptibles;
 import org.apache.jackrabbit.api.stats.RepositoryStatistics.Type;
 import org.apache.jackrabbit.oak.commons.collections.CollectionUtils;
@@ -153,7 +152,7 @@ public class MetricStatisticsProviderTest {
     public void concurrentAccess() throws Exception{
         //Queue is used to collect instances with minimal overhead in concurrent scenario
         final Queue<MeterStats> statsQueue = new ConcurrentLinkedDeque<MeterStats>();
-        List<Thread> threads = Lists.newArrayList();
+        List<Thread> threads = new ArrayList<>();
         int numWorker = 5;
         final CountDownLatch latch = new CountDownLatch(1);
         for (int i = 0; i < numWorker; i++) {
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/migration/FilteringNodeStateTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/migration/FilteringNodeStateTest.java
index 1f990bdd72..9de6343410 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/migration/FilteringNodeStateTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/migration/FilteringNodeStateTest.java
@@ -30,12 +30,13 @@ import org.junit.Test;
 
 import javax.jcr.RepositoryException;
 import java.io.IOException;
+import java.util.List;
 import java.util.Set;
 import java.util.UUID;
 import java.util.function.Predicate;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
 import static java.util.Arrays.asList;
+import static org.apache.jackrabbit.oak.commons.collections.CollectionUtils.toList;
 import static org.apache.jackrabbit.oak.plugins.memory.PropertyStates.createProperty;
 import static org.apache.jackrabbit.oak.plugins.migration.FilteringNodeState.wrap;
 import static org.apache.jackrabbit.oak.plugins.migration.NodeStateTestUtils.assertExists;
@@ -146,7 +147,7 @@ public class FilteringNodeStateTest {
         { // access via getProperty()
             final PropertyState childOrder = decorated.getProperty(OAK_CHILD_ORDER);
             final Iterable<String> values = childOrder.getValue(Type.STRINGS);
-            assertEquals(newArrayList("football"), newArrayList(values));
+            assertEquals(List.of("football"), toList(values));
         }
 
         { // access via getProperties()
@@ -158,7 +159,7 @@ public class FilteringNodeStateTest {
             };
             final PropertyState childOrder = Iterables.find(decorated.getProperties(), isChildOrderProperty::test);
             final Iterable<String> values = childOrder.getValue(Type.STRINGS);
-            assertEquals(newArrayList("football"), newArrayList(values));
+            assertEquals(List.of("football"), toList(values));
         }
     }
 
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/tree/impl/ImmutableTreeTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/tree/impl/ImmutableTreeTest.java
index 2ff4ce0ffb..561b43fdb5 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/tree/impl/ImmutableTreeTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/tree/impl/ImmutableTreeTest.java
@@ -19,13 +19,13 @@
 package org.apache.jackrabbit.oak.plugins.tree.impl;
 
 import java.util.List;
+import java.util.stream.Collectors;
 
-import org.apache.jackrabbit.guava.common.collect.Iterables;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.JcrConstants;
 import org.apache.jackrabbit.oak.AbstractSecurityTest;
 import org.apache.jackrabbit.oak.api.PropertyState;
 import org.apache.jackrabbit.oak.api.Tree;
+import org.apache.jackrabbit.oak.commons.collections.CollectionUtils;
 import org.apache.jackrabbit.oak.plugins.tree.TreeConstants;
 import org.apache.jackrabbit.oak.plugins.tree.TreeType;
 import org.apache.jackrabbit.oak.plugins.tree.TreeTypeProvider;
@@ -215,7 +215,7 @@ public class ImmutableTreeTest extends AbstractSecurityTest {
     @Test
     public void testGetProperties() {
         ImmutableTree orderable = immutable.getChild("orderable");
-        List<String> propNames = Lists.newArrayList(TreeConstants.OAK_CHILD_ORDER, JcrConstants.JCR_PRIMARYTYPE);
+        List<String> propNames = List.of(TreeConstants.OAK_CHILD_ORDER, JcrConstants.JCR_PRIMARYTYPE);
 
         for (PropertyState ps : orderable.getProperties()) {
             assertTrue(propNames.remove(ps.getName()));
@@ -263,8 +263,8 @@ public class ImmutableTreeTest extends AbstractSecurityTest {
     }
 
     private static void assertSequence(Iterable<Tree> trees, String... names) {
-        List<String> actual = Lists.newArrayList(Iterables.transform(trees, input -> input.getName()));
-        assertEquals(Lists.newArrayList(names), actual);
+        List<String> actual = CollectionUtils.toStream(trees).map(input -> input.getName()).collect(Collectors.toList());
+        assertEquals(List.of(names), actual);
     }
 
     @Test
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/query/AbstractQueryTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/query/AbstractQueryTest.java
index cb09b688d3..04c9d3579f 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/query/AbstractQueryTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/query/AbstractQueryTest.java
@@ -513,7 +513,7 @@ public abstract class AbstractQueryTest {
      */
     private static PropertyState readArrayProperty(String name, JsopReader reader) {
         int type = PropertyType.STRING;
-        List<Object> values = Lists.newArrayList();
+        List<Object> values = new ArrayList<>();
         while (!reader.matches(']')) {
             if (reader.matches(JsopReader.NUMBER)) {
                 String number = reader.getToken();
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/query/IteratorsTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/query/IteratorsTest.java
index eda372b449..d2ccbacd76 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/query/IteratorsTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/query/IteratorsTest.java
@@ -24,28 +24,26 @@ import static org.junit.Assert.fail;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.Iterator;
+import java.util.List;
 import java.util.NoSuchElementException;
 import java.util.Random;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import org.junit.Test;
 
-import org.apache.jackrabbit.guava.common.collect.Lists;
-
 /**
  * Tests the filtering iterators.
  */
 public class IteratorsTest {
-    
+
     private QueryEngineSettings settings = new QueryEngineSettings();
-    
+
     private static final Comparator<Integer> INT_COMP = new Comparator<Integer>() {
 
         @Override
         public int compare(Integer o1, Integer o2) {
             return o1.compareTo(o2);
         }
-        
     };
 
     @Test
@@ -55,7 +53,7 @@ public class IteratorsTest {
         assertEquals("1, 2", toString(FilterIterators.newDistinct(it(1, 2), settings)));
         assertEquals("1, 2, 3", toString(FilterIterators.newDistinct(it(1, 2, 1, 3, 3, 1), settings)));
     }
-    
+
     @Test
     public void limit() {
         assertEquals("", toString(FilterIterators.newLimit(it(), 0)));
@@ -72,7 +70,7 @@ public class IteratorsTest {
         assertEquals("1, 2, 3", toString(FilterIterators.newLimit(it(1, 2, 3), 3)));
         assertEquals("1, 2, 3", toString(FilterIterators.newLimit(it(1, 2, 3), 4)));
     }
-    
+
     @Test
     public void offset() {
         assertEquals("", toString(FilterIterators.newOffset(it(), 0)));
@@ -85,7 +83,7 @@ public class IteratorsTest {
         assertEquals("", toString(FilterIterators.newOffset(it(1, 2), 3)));
         assertEquals("2, 3", toString(FilterIterators.newOffset(it(1, 2, 3), 1)));
     }
-    
+
     @Test
     public void sort() {
         assertEquals("", toString(FilterIterators.newSort(it(new Integer[]{}), INT_COMP, 0, settings)));
@@ -111,9 +109,9 @@ public class IteratorsTest {
         sortCompareCalls(10000, 1000000);
         sortCompareCalls(10000, Integer.MAX_VALUE);
     }
-    
+
     private void sortCompareCalls(int count, int keep) {
-        
+
         int len = 1000;
         Random r = new Random(1);
         Integer[] list = new Integer[len];
@@ -128,7 +126,6 @@ public class IteratorsTest {
                 compareCalls.incrementAndGet();
                 return o1.compareTo(o2);
             }
-            
         };
         Iterator<Integer> it = FilterIterators.newSort(it(list), comp, keep, settings);
         int old = Integer.MIN_VALUE;
@@ -151,7 +148,7 @@ public class IteratorsTest {
         assertEquals("3, 3, 2, 1", 
                 toString(FilterIterators.newCombinedFilter(
                 it(3, 3, 2, 1), false, Long.MAX_VALUE, 0, null, settings)));
-        
+
         // distinct
         assertEquals("3, 2, 1", 
                 toString(FilterIterators.newCombinedFilter(
@@ -166,7 +163,7 @@ public class IteratorsTest {
         assertEquals("1, 2, 3", 
                 toString(FilterIterators.newCombinedFilter(
                 it(3, 3, 2, 1), true, Long.MAX_VALUE, 0, INT_COMP, settings)));
-        
+
         // limit
         assertEquals("3, 3", 
                 toString(FilterIterators.newCombinedFilter(
@@ -195,9 +192,9 @@ public class IteratorsTest {
 }
 
     private static <K> Iterator<K> it(K... x) {
-        return Collections.unmodifiableCollection(Lists.newArrayList(x)).iterator();
+        return Collections.unmodifiableCollection(List.of(x)).iterator();
     }
-    
+
     private static <K> String toString(Iterator<K> it) {
         StringBuilder buff = new StringBuilder();
         while (it.hasNext()) {
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/query/OrQueryOrderLimitWithoutIndexTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/query/OrQueryOrderLimitWithoutIndexTest.java
index 20d83cfd69..5c607abd3a 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/query/OrQueryOrderLimitWithoutIndexTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/query/OrQueryOrderLimitWithoutIndexTest.java
@@ -14,10 +14,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.jackrabbit.oak.query;
 
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.oak.InitialContent;
 import org.apache.jackrabbit.oak.Oak;
 import org.apache.jackrabbit.oak.api.CommitFailedException;
@@ -26,6 +24,7 @@ import org.apache.jackrabbit.oak.api.QueryEngine;
 import org.apache.jackrabbit.oak.api.Result;
 import org.apache.jackrabbit.oak.api.ResultRow;
 import org.apache.jackrabbit.oak.api.Tree;
+import org.apache.jackrabbit.oak.commons.collections.CollectionUtils;
 import org.apache.jackrabbit.oak.spi.security.OpenSecurityProvider;
 import org.junit.After;
 import org.junit.Assert;
@@ -84,7 +83,7 @@ public class OrQueryOrderLimitWithoutIndexTest extends AbstractQueryTest {
         Result result = qe.executeQuery(query, QueryEngineImpl.SQL2, limit, offset,
                 QueryEngine.NO_BINDINGS, QueryEngine.NO_MAPPINGS);
 
-        List<ResultRow> rows = Lists.newArrayList(result.getRows());
+        List<ResultRow> rows = CollectionUtils.toList((Iterable<ResultRow>) result.getRows());
         Assert.assertEquals(expected.length, rows.size());
 
         int i = 0;
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/query/UnionQueryTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/query/UnionQueryTest.java
index 4ffbe1a748..426bf0ef58 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/query/UnionQueryTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/query/UnionQueryTest.java
@@ -14,9 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.jackrabbit.oak.query;
 
+import static org.apache.jackrabbit.oak.commons.collections.CollectionUtils.toList;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
@@ -25,7 +25,6 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.Optional;
 
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.oak.InitialContent;
 import org.apache.jackrabbit.oak.Oak;
 import org.apache.jackrabbit.oak.api.ContentRepository;
@@ -222,7 +221,7 @@ public class UnionQueryTest extends AbstractQueryTest {
         Result result = qe.executeQuery(union, QueryEngineImpl.SQL2, limit, offset,
                 QueryEngine.NO_BINDINGS, QueryEngine.NO_MAPPINGS);
 
-        List<ResultRow> rows = Lists.newArrayList(result.getRows());
+        List<ResultRow> rows = toList((Iterable<ResultRow>)result.getRows());
         assertEquals(expected.length, rows.size());
 
         int i = 0;
@@ -247,7 +246,7 @@ public class UnionQueryTest extends AbstractQueryTest {
         Result result = qe.executeQuery(union, QueryEngineImpl.SQL2, Optional.empty(), Optional.empty(),
                 QueryEngine.NO_BINDINGS, QueryEngine.NO_MAPPINGS);
 
-        List<ResultRow> rows = Lists.newArrayList(result.getRows());
+        List<ResultRow> rows = toList((Iterable<ResultRow>)result.getRows());
         assertEquals(expected.length, rows.size());
 
         int i = 0;
@@ -302,7 +301,7 @@ public class UnionQueryTest extends AbstractQueryTest {
         Result result = qe.executeQuery(explainedStatement, QueryEngineImpl.SQL2, limit, offset,
                 QueryEngine.NO_BINDINGS, QueryEngine.NO_MAPPINGS);
 
-        List<ResultRow> rows = Lists.newArrayList(result.getRows());
+        List<ResultRow> rows = toList((Iterable<ResultRow>)result.getRows());
         assertEquals(expected.length, rows.size());
 
         int i = 0;
@@ -353,7 +352,7 @@ public class UnionQueryTest extends AbstractQueryTest {
         Result result = qe.executeQuery(explainedStatement, QueryEngineImpl.SQL2, limit, offset,
                 QueryEngine.NO_BINDINGS, QueryEngine.NO_MAPPINGS);
 
-        List<ResultRow> rows = Lists.newArrayList(result.getRows());
+        List<ResultRow> rows = toList((Iterable<ResultRow>)result.getRows());
         assertEquals(expected.length, rows.size());
 
         int i = 0;
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationContextTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationContextTest.java
index be8e98aa22..306938e67f 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationContextTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationContextTest.java
@@ -76,7 +76,7 @@ public class AuthorizationContextTest extends AbstractSecurityTest {
      */
     @Test
     public void testItemDefinitionsDefinesContextRoot() {
-        List<String> paths = Lists.newArrayList(
+        List<String> paths = List.of(
                 "/jcr:system/jcr:nodeTypes/rep:AccessControllable/rep:namedChildNodeDefinitions/rep:policy",
                 "/jcr:system/jcr:nodeTypes/rep:RepoAccessControllable/rep:namedChildNodeDefinitions/rep:repoPolicy");
 
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/ACLTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/ACLTest.java
index 9f43da5c89..cc61d547aa 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/ACLTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/ACLTest.java
@@ -203,7 +203,7 @@ public class ACLTest extends AbstractAccessControlTest implements PrivilegeConst
     public void testGetRestrictionNames() {
         String[] restrNames = acl.getRestrictionNames();
         assertNotNull(restrNames);
-        List<String> names = Lists.newArrayList(restrNames);
+        List<String> names = List.of(restrNames);
         for (RestrictionDefinition def : getRestrictionProvider().getSupportedRestrictions(TEST_PATH)) {
             assertTrue(names.remove(getNamePathMapper().getJcrName(def.getName())));
         }
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlImporterBaseTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlImporterBaseTest.java
index fe1865ab23..e390978ed5 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlImporterBaseTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlImporterBaseTest.java
@@ -510,7 +510,7 @@ public abstract class AccessControlImporterBaseTest  extends AbstractSecurityTes
 
         Tree restrTree = aceTree.getChild(REP_RESTRICTIONS);
         assertEquals("/*", TreeUtil.getString(restrTree, REP_GLOB));
-        assertEquals(Lists.newArrayList(NodeTypeConstants.NT_OAK_RESOURCE, NodeTypeConstants.NT_OAK_RESOURCE), restrTree.getProperty(REP_NT_NAMES).getValue(Type.NAMES));
-        assertEquals(Lists.newArrayList("itemName"), restrTree.getProperty(REP_ITEM_NAMES).getValue(Type.NAMES));
+        assertEquals(List.of(NodeTypeConstants.NT_OAK_RESOURCE, NodeTypeConstants.NT_OAK_RESOURCE), restrTree.getProperty(REP_NT_NAMES).getValue(Type.NAMES));
+        assertEquals(List.of("itemName"), restrTree.getProperty(REP_ITEM_NAMES).getValue(Type.NAMES));
     }
 }
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlManagerImplTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlManagerImplTest.java
index 4de904920a..ce3f414845 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlManagerImplTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlManagerImplTest.java
@@ -2131,7 +2131,7 @@ public class AccessControlManagerImplTest extends AbstractAccessControlTest impl
                        @NotNull RestrictionProvider restrictionProvider,
                        @NotNull NamePathMapper namePathMapper,
                        @NotNull JackrabbitAccessControlEntry... entry) {
-            this(jcrPath, restrictionProvider, namePathMapper, Lists.newArrayList(entry));
+            this(jcrPath, restrictionProvider, namePathMapper, List.of(entry));
         }
 
         @Override
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlWithUnknownPrincipalTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlWithUnknownPrincipalTest.java
index 21d798365d..6fe89d1b8d 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlWithUnknownPrincipalTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlWithUnknownPrincipalTest.java
@@ -16,7 +16,6 @@
  */
 package org.apache.jackrabbit.oak.security.authorization.accesscontrol;
 
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.api.security.JackrabbitAccessControlList;
 import org.apache.jackrabbit.commons.jackrabbit.authorization.AccessControlUtils;
 import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
@@ -36,6 +35,7 @@ import javax.jcr.security.AccessControlPolicy;
 import java.security.Principal;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.List;
 
 import static org.apache.jackrabbit.oak.spi.security.privilege.PrivilegeConstants.JCR_READ;
 import static org.junit.Assert.assertEquals;
@@ -49,13 +49,13 @@ public class AccessControlWithUnknownPrincipalTest extends AbstractAccessControl
 
     @Parameterized.Parameters(name = "ImportBehavior={1}")
     public static Collection<Object[]> parameters() {
-        return Lists.newArrayList(
+        return List.of(
                 new Object[] {ImportBehavior.IGNORE , ImportBehavior.NAME_IGNORE},
                 new Object[] {ImportBehavior.BESTEFFORT, ImportBehavior.NAME_BESTEFFORT},
                 new Object[] {ImportBehavior.ABORT, ImportBehavior.NAME_ABORT}
         );
     }
-    
+
     private final int importBehavior;
     private final String importBehaviorName;
 
@@ -65,7 +65,7 @@ public class AccessControlWithUnknownPrincipalTest extends AbstractAccessControl
         this.importBehavior = importBehavior;
         this.importBehaviorName = importBehaviorName;
     }
-    
+
     @Before
     public void before() throws Exception {
         super.before();
@@ -78,7 +78,7 @@ public class AccessControlWithUnknownPrincipalTest extends AbstractAccessControl
         ConfigurationParameters params = ConfigurationParameters.of(ProtectedItemImporter.PARAM_IMPORT_BEHAVIOR, importBehaviorName);
         return ConfigurationParameters.of(AuthorizationConfiguration.NAME, params);
     }
-    
+
     @NotNull
     private String getUnknownPrincipalName() {
         Principal unknown = getPrincipalManager(root).getPrincipal("unknown");
@@ -88,7 +88,7 @@ public class AccessControlWithUnknownPrincipalTest extends AbstractAccessControl
         }
         return "unknown"+i;
     }
-    
+
     private void assertImportBehavior(String message) {
         // success if importBehavior == ABORT
         if (importBehavior != ImportBehavior.ABORT) {
@@ -128,20 +128,20 @@ public class AccessControlWithUnknownPrincipalTest extends AbstractAccessControl
         Principal unknown = new InvalidTestPrincipal(getUnknownPrincipalName());
         assertGetPolicies(unknown, 0);
     }
-    
+
     @Test
     public void testGetPoliciesRemovedPrincipal() throws Exception {
         JackrabbitAccessControlList acl = AccessControlUtils.getAccessControlList(acMgr, TEST_PATH);
         assertNotNull(acl);
         acl.addEntry(testPrincipal, privilegesFromNames(JCR_READ), true);
         acMgr.setPolicy(TEST_PATH, acl);
-        
+
         Principal p = () -> testPrincipal.getName();
         removeTestUser();
 
         assertGetPolicies(p, 1);
     }
-    
+
     private void assertGetPolicies(@NotNull Principal principal, int expectedBestEffort) throws Exception {
         try {
             AccessControlPolicy[] policies = acMgr.getPolicies(principal);
@@ -160,7 +160,7 @@ public class AccessControlWithUnknownPrincipalTest extends AbstractAccessControl
             assertImportBehavior("Getting policies for unknown principal with importBehavior "+importBehaviorName+" must not throw AccessControlException");
         }
     }
-    
+
     @Test
     public void testGetPoliciesInternalPrincipal() throws Exception {
         // internal principal implementation is allowed irrespective of import-mode
@@ -226,13 +226,13 @@ public class AccessControlWithUnknownPrincipalTest extends AbstractAccessControl
         boolean modified = acl.addAccessControlEntry(internal, privilegesFromNames(JCR_READ));
         assertTrue(modified);
     }
-    
+
     @Test(expected = AccessControlException.class)
     public void testNullPrincipal() throws Exception {
         JackrabbitAccessControlList acl = AccessControlUtils.getAccessControlList(acMgr, TEST_PATH);
         acl.addAccessControlEntry(null, privilegesFromNames(JCR_READ));
     }
-    
+
     @Test(expected = AccessControlException.class)
     public void testEmptyPrincipal() throws Exception {
         JackrabbitAccessControlList acl = AccessControlUtils.getAccessControlList(acMgr, TEST_PATH);
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/EntryTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/EntryTest.java
index 8f72e87181..3905bfb61d 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/EntryTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/EntryTest.java
@@ -483,7 +483,7 @@ public class EntryTest extends AbstractAccessControlTest {
         JackrabbitAccessControlEntry ace = createEntry(PrivilegeConstants.JCR_ALL);
         Privilege[] declaredAllPrivs = acMgr.privilegeFromName(PrivilegeConstants.JCR_ALL).getDeclaredAggregatePrivileges();
         Privilege[] aggregateAllPrivs = acMgr.privilegeFromName(PrivilegeConstants.JCR_ALL).getAggregatePrivileges();
-        List<Privilege> l = Lists.newArrayList(aggregateAllPrivs);
+        List<Privilege> l = List.of(aggregateAllPrivs);
         l.add(l.remove(0));
         Privilege[] reordered = l.toArray(new Privilege[0]);
 
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/ReadPolicyTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/ReadPolicyTest.java
index 2f4af19a4c..59a11c0bec 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/ReadPolicyTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/ReadPolicyTest.java
@@ -20,11 +20,11 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.Iterator;
+import java.util.List;
 import java.util.Set;
 import javax.jcr.security.AccessControlPolicy;
 import javax.jcr.security.NamedAccessControlPolicy;
 
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.JcrConstants;
 import org.apache.jackrabbit.oak.AbstractSecurityTest;
 import org.apache.jackrabbit.oak.api.Tree;
@@ -61,7 +61,7 @@ public class ReadPolicyTest extends AbstractSecurityTest {
 
     @Parameterized.Parameters(name = "Configured Readable Paths = {1}")
     public static Collection<Object[]> parameters() {
-        return Lists.newArrayList(
+        return List.of(
                 new Object[] {null , "null => default set"},
                 new Object[] {Collections.emptySet(), "empty set"},
                 new Object[] {Collections.emptySet(), "/"+JcrConstants.JCR_SYSTEM}
@@ -71,7 +71,7 @@ public class ReadPolicyTest extends AbstractSecurityTest {
     public ReadPolicyTest(@Nullable Set<String> configuredPaths, @NotNull String name) {
         this.configuredPaths = configuredPaths;
     }
-    
+
     @Override
     @Before
     public void before() throws Exception {
@@ -155,7 +155,7 @@ public class ReadPolicyTest extends AbstractSecurityTest {
             assertTrue(found);
         }
     }
-    
+
     @Test
     public void testGetEffectivePoliciesPrincipalSet() throws Exception {
         AccessControlPolicy[] policies = getAccessControlManager(root).getEffectivePolicies(Collections.singleton(EveryonePrincipal.getInstance()));
@@ -172,5 +172,4 @@ public class ReadPolicyTest extends AbstractSecurityTest {
             assertNotNull(((NamedAccessControlPolicy) policies[0]).getName());
         }
     }
-
 }
\ No newline at end of file
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositePermissionProviderOrTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositePermissionProviderOrTest.java
index 16369e38a8..d428988540 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositePermissionProviderOrTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositePermissionProviderOrTest.java
@@ -17,7 +17,6 @@
 package org.apache.jackrabbit.oak.security.authorization.composite;
 
 import org.apache.jackrabbit.guava.common.collect.ImmutableList;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.oak.AbstractSecurityTest;
 import org.apache.jackrabbit.oak.api.PropertyState;
 import org.apache.jackrabbit.oak.api.Root;
@@ -42,6 +41,7 @@ import org.junit.runners.Parameterized;
 import java.security.Principal;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.List;
 import java.util.Set;
 
 import static org.apache.jackrabbit.oak.commons.PathUtils.ROOT_PATH;
@@ -69,22 +69,22 @@ import static org.junit.Assert.assertTrue;
  */
 @RunWith(Parameterized.class)
 public class CompositePermissionProviderOrTest extends AbstractSecurityTest {
-    
+
     private final boolean extraVerification;
-    
+
     private CompositePermissionProvider pp;
     private Root readOnlyRoot;
 
     @Parameterized.Parameters(name = "name={1}")
     public static Collection<Object[]> parameters() {
-        return Lists.newArrayList(
+        return List.of(
                 new Object[] { true, "Extra verification of supported permissions in 'isGranted'" },
                 new Object[] { false, "No verification of supported permissions in 'isGranted'" });
-    }    
+    }
     public CompositePermissionProviderOrTest(boolean extraVerification, @NotNull String name) {
         this.extraVerification = extraVerification;
     }
-    
+
     @Before()
     public void before() throws Exception {
         super.before();
@@ -101,18 +101,18 @@ public class CompositePermissionProviderOrTest extends AbstractSecurityTest {
         ImmutableList<AggregatedPermissionProvider> l = ImmutableList.of(
                 (AggregatedPermissionProvider) config.getPermissionProvider(root, workspaceName, principals),
                 new ReadNodeGrantedInSupportedTree());
-        
+
         return new CompositePermissionProviderOr(root, l, config.getContext(), getRootProvider(), getTreeProvider());
     }
 
     private Tree getTree(@NotNull String path) {
         return readOnlyRoot.getTree(path);
     }
-    
+
     private TreeLocation getTreeLocation(@NotNull String path) {
         return TreeLocation.create(readOnlyRoot, path);
     }
-    
+
     @Test
     public void testIsGrantedTreeUnsupportedPath() {
         for (long permissions : new long[]{READ_NODE, READ, SET_PROPERTY, ADD_NODE, MODIFY_ACCESS_CONTROL, ALL}) {
@@ -154,27 +154,27 @@ public class CompositePermissionProviderOrTest extends AbstractSecurityTest {
             assertFalse(pp.isGranted(getTreeLocation(TEST_A_B_C_PATH), permissions));
         }
     }
-    
+
     @Test
     public void testRepositoryPermissions() {
         RepositoryPermission rp = pp.getRepositoryPermission();
-        
+
         assertTrue(rp.isGranted(WORKSPACE_MANAGEMENT));
-        
+
         assertFalse(rp.isGranted(ALL));
         assertFalse(rp.isGranted(WORKSPACE_MANAGEMENT|NODE_TYPE_DEFINITION_MANAGEMENT));
     }
-    
+
     private final class ReadNodeGrantedInSupportedTree implements AggregatedPermissionProvider {
-        
+
         private boolean isSupportedPath(@NotNull String path) {
             return Text.isDescendantOrEqual(TEST_A_PATH, path);
         }
-        
+
         private boolean includesSupportedPermission(long permissions) {
             return Permissions.includes(permissions, READ_NODE);
         }
-        
+
         private boolean isGranted(@NotNull String path, long permissions) {
             if (extraVerification) {
                 return isSupportedPath(path) && permissions == READ_NODE;
@@ -182,7 +182,7 @@ public class CompositePermissionProviderOrTest extends AbstractSecurityTest {
                 return isSupportedPath(path);
             }
         }
-        
+
         @Override
         public @NotNull PrivilegeBits supportedPrivileges(@Nullable Tree tree, @Nullable PrivilegeBits privilegeBits) {
             throw new UnsupportedOperationException();
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 5916709e7e..3021df3089 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
@@ -17,7 +17,6 @@
 package org.apache.jackrabbit.oak.security.principal;
 
 import org.apache.jackrabbit.guava.common.collect.Iterators;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.api.security.principal.PrincipalManager;
 import org.apache.jackrabbit.oak.spi.security.principal.EveryonePrincipal;
 import org.apache.jackrabbit.oak.spi.security.principal.PrincipalImpl;
@@ -28,6 +27,7 @@ import org.junit.runners.Parameterized;
 import java.security.Principal;
 import java.util.Collection;
 import java.util.Iterator;
+import java.util.List;
 
 import static org.junit.Assert.assertEquals;
 
@@ -36,20 +36,20 @@ public class EveryoneFilterTest {
 
     @Parameterized.Parameters(name = "searchType={1}")
     public static Collection<Object[]> parameters() {
-        return Lists.newArrayList(
+        return List.of(
                 new Object[] { PrincipalManager.SEARCH_TYPE_GROUP , "Group"},
                 new Object[] { PrincipalManager.SEARCH_TYPE_ALL , "All"},
                 new Object[] { PrincipalManager.SEARCH_TYPE_NOT_GROUP , "Not_Group"}
                 );
     }
-    
+
     private final int searchType;
     private final Principal anotherPrincipal = new PrincipalImpl("another");
-    
+
     public EveryoneFilterTest(int searchType, String name) {
         this.searchType = searchType;
     }
-    
+
     private static int adjustExpectedSize (int searchType, int expectedSize) {
         // for search-type 'users only' everyone will not get injected if missing
         return (searchType != PrincipalManager.SEARCH_TYPE_NOT_GROUP) ? expectedSize+1 : expectedSize;
@@ -59,7 +59,7 @@ public class EveryoneFilterTest {
     public void testEveryoneAlreadyIncluded() {
         Iterator<Principal> principals = Iterators.forArray(EveryonePrincipal.getInstance(), anotherPrincipal);
         Iterator<Principal> result = EveryoneFilter.filter(principals, EveryonePrincipal.NAME, searchType, 0, Long.MAX_VALUE);
-        
+
         assertEquals(2, Iterators.size(result));
     }
 
@@ -96,7 +96,7 @@ public class EveryoneFilterTest {
 
         assertEquals(0, Iterators.size(result));
     }
-    
+
     @Test
     public void testResultContainsNull() {
         Iterator<Principal> principals = Iterators.forArray(anotherPrincipal, null, EveryonePrincipal.getInstance());
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 948cb0b2e5..988d80b9f5 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
@@ -110,7 +110,7 @@ public class AuthorizableIteratorTest extends AbstractSecurityTest {
 
     @Test
     public void testFilterDuplicatesHandlesNull() throws Exception {
-        List<User> l = Lists.newArrayList(getTestUser(), null, getTestUser());
+        List<User> l = List.of(getTestUser(), null, getTestUser());
         assertEquals(1, Iterators.size(AuthorizableIterator.create(true, l.iterator(), l.iterator())));
     }
 
@@ -124,7 +124,7 @@ public class AuthorizableIteratorTest extends AbstractSecurityTest {
 
     @Test
     public void testGetSize3() throws Exception {
-        List<User> l = Lists.newArrayList(getTestUser());
+        List<User> l = List.of(getTestUser());
 
         // size cannot be computed from regular iterators
         assertEquals(-1, AuthorizableIterator.create(false, l.iterator(), l.iterator()).getSize());
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/CachedPrincipalMembershipReaderTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/CachedPrincipalMembershipReaderTest.java
index 9e3c4039bc..2a0e179aca 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/CachedPrincipalMembershipReaderTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/CachedPrincipalMembershipReaderTest.java
@@ -66,7 +66,7 @@ public class CachedPrincipalMembershipReaderTest extends PrincipalMembershipRead
 
     @Parameterized.Parameters(name = "name={1}")
     public static Collection<Object[]> parameters() {
-        return Lists.newArrayList(
+        return List.of(
                 new Object[] { 10000L, "Cache Max Stale = 10000" },
                 new Object[] { UserPrincipalProvider.NO_STALE_CACHE, "Cache Max Stale = 0" });
     }
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/RepMembersConflictHandlerTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/RepMembersConflictHandlerTest.java
index 0ca3fcc69a..ab75b267b7 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/RepMembersConflictHandlerTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/RepMembersConflictHandlerTest.java
@@ -57,7 +57,7 @@ public class RepMembersConflictHandlerTest extends AbstractSecurityTest {
 
     @Parameters(name = "name={1}")
     public static Collection<Object[]> parameters() {
-        return Lists.newArrayList(
+        return List.of(
                 new Object[] { 0, "Empty Group" },
                 new Object[] { 5, "Tiny Group" },
                 new Object[] { MembershipWriter.DEFAULT_MEMBERSHIP_THRESHOLD - 1, "Border Group" },
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserConfigurationImplTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserConfigurationImplTest.java
index f08789c99d..de965d61c8 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserConfigurationImplTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserConfigurationImplTest.java
@@ -67,7 +67,7 @@ public class UserConfigurationImplTest extends AbstractSecurityTest {
         List<? extends ValidatorProvider> validators = configuration.getValidators(adminSession.getWorkspaceName(), Collections.<Principal>emptySet(), new MoveTracker());
         assertEquals(2, validators.size());
 
-        List<String> clNames = Lists.newArrayList(
+        List<String> clNames = List.of(
                 UserValidatorProvider.class.getName(),
                 CacheValidatorProvider.class.getName());
 
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserImporterBaseTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserImporterBaseTest.java
index d037469873..15a22c7c20 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserImporterBaseTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserImporterBaseTest.java
@@ -17,7 +17,6 @@
 package org.apache.jackrabbit.oak.security.user;
 
 import org.apache.jackrabbit.guava.common.collect.ImmutableList;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.JcrConstants;
 import org.apache.jackrabbit.api.JackrabbitSession;
 import org.apache.jackrabbit.api.security.user.User;
@@ -48,6 +47,8 @@ import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 import javax.jcr.Value;
 import javax.jcr.nodetype.PropertyDefinition;
+
+import java.util.ArrayList;
 import java.util.List;
 
 import static org.mockito.Mockito.mock;
@@ -173,7 +174,7 @@ public abstract class UserImporterBaseTest extends AbstractSecurityTest implemen
 
     @NotNull
     PropInfo createPropInfo(@Nullable String name, final String... values) {
-        List<TextValue> txtValues = Lists.newArrayList();
+        List<TextValue> txtValues = new ArrayList<>();
         for (final String v : values) {
             txtValues.add(new TextValue() {
                 @Override
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/autosave/AuthorizableWrapperTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/autosave/AuthorizableWrapperTest.java
index 82a670514b..fa93350144 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/autosave/AuthorizableWrapperTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/autosave/AuthorizableWrapperTest.java
@@ -16,10 +16,10 @@
  */
 package org.apache.jackrabbit.oak.security.user.autosave;
 
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.api.security.user.Authorizable;
 import org.junit.Test;
 
+import java.util.Arrays;
 import java.util.Iterator;
 
 import static org.junit.Assert.assertNull;
@@ -32,7 +32,8 @@ public class AuthorizableWrapperTest extends AbstractAutoSaveTest {
 
     @Test
     public void testApplyNull() {
-        Iterator<Authorizable> it = AuthorizableWrapper.createIterator(Lists.newArrayList(null, (Authorizable) null).iterator(), autosaveMgr);
+        Iterator<Authorizable> it = AuthorizableWrapper
+                .createIterator(Arrays.asList(new Authorizable[] { null, (Authorizable) null }).iterator(), autosaveMgr);
         while(it.hasNext()) {
             assertNull(it.next());
         }
@@ -41,7 +42,8 @@ public class AuthorizableWrapperTest extends AbstractAutoSaveTest {
 
     @Test
     public void testApply() throws Exception {
-        Iterator<Authorizable> it = AuthorizableWrapper.createIterator(Lists.newArrayList(getTestUser(), (Authorizable) null).iterator(), autosaveMgr);
+        Iterator<Authorizable> it = AuthorizableWrapper
+                .createIterator(Arrays.asList(new Authorizable[] { getTestUser(), (Authorizable) null }).iterator(), autosaveMgr);
         while(it.hasNext()) {
             it.next();
         }
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/commit/BackgroundObserverTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/commit/BackgroundObserverTest.java
index 4c43b17352..d4bf3395e2 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/commit/BackgroundObserverTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/commit/BackgroundObserverTest.java
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.jackrabbit.oak.spi.commit;
 
 import static java.util.concurrent.Executors.newFixedThreadPool;
@@ -27,6 +26,7 @@ import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 
 import java.io.Closeable;
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.LinkedList;
 import java.util.List;
@@ -46,17 +46,15 @@ import org.jetbrains.annotations.NotNull;
 import org.junit.After;
 import org.junit.Test;
 
-import org.apache.jackrabbit.guava.common.collect.Lists;
-
 import junit.framework.AssertionFailedError;
 
 public class BackgroundObserverTest {
     private static final CommitInfo COMMIT_INFO = new CommitInfo("no-session", null);
     public static final int CHANGE_COUNT = 1024;
 
-    private final List<Runnable> assertions = Lists.newArrayList();
+    private final List<Runnable> assertions = new ArrayList<>();
     private CountDownLatch doneCounter;
-    private final List<Closeable> closeables = Lists.newArrayList();
+    private final List<Closeable> closeables = new ArrayList<>();
 
     /**
      * Assert that each observer of many running concurrently sees the same
@@ -113,7 +111,7 @@ public class BackgroundObserverTest {
         return new BackgroundObserver(new Observer() {
             // Need synchronised list here to maintain correct memory barrier
             // when this is passed on to done(List<Runnable>)
-            final List<Runnable> assertions = Collections.synchronizedList(Lists.<Runnable> newArrayList());
+            final List<Runnable> assertions = Collections.synchronizedList(new ArrayList<>());
             volatile NodeState previous;
 
             @Override
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardUtilsTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardUtilsTest.java
index bf42744cec..7ae3eaf283 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardUtilsTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardUtilsTest.java
@@ -16,10 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.jackrabbit.oak.spi.whiteboard;
 
 import java.lang.management.ManagementFactory;
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
@@ -29,7 +29,6 @@ import javax.management.MBeanServer;
 import javax.management.ObjectName;
 
 import org.apache.jackrabbit.guava.common.collect.ImmutableMap;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.oak.Oak;
 import org.apache.jackrabbit.oak.api.jmx.QueryEngineSettingsMBean;
 import org.apache.jackrabbit.oak.query.QueryEngineSettings;
@@ -44,7 +43,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 
 public class WhiteboardUtilsTest {
-    private List<Registration> regs = Lists.newArrayList();
+    private List<Registration> regs = new ArrayList<>();
 
     @After
     public void unregisterRegs(){
diff --git a/oak-examples/standalone/src/main/java/org/apache/jackrabbit/oak/standalone/RepositoryInitializer.java b/oak-examples/standalone/src/main/java/org/apache/jackrabbit/oak/standalone/RepositoryInitializer.java
index 3d01fe3d26..ce986eea7f 100644
--- a/oak-examples/standalone/src/main/java/org/apache/jackrabbit/oak/standalone/RepositoryInitializer.java
+++ b/oak-examples/standalone/src/main/java/org/apache/jackrabbit/oak/standalone/RepositoryInitializer.java
@@ -146,7 +146,7 @@ public class RepositoryInitializer {
 
     private List<String> copyConfigs(File repoHomeDir, List<String> configFileNames)
             throws IOException, RepositoryException {
-        List<String> filePaths = Lists.newArrayList();
+        List<String> filePaths = new ArrayList<>();
         for (String configName : configFileNames) {
             File dest = new File(repoHomeDir, configName);
             Resource source = new ClassPathResource("config-templates/" + configName);
@@ -158,7 +158,7 @@ public class RepositoryInitializer {
 
 
     private List<String> determineConfigFileNamesToCopy() {
-        List<String> configNames = Lists.newArrayList();
+        List<String> configNames = new ArrayList<>();
         configNames.add("repository-config.json");
 
         //Mongo mode can be selected via --mongo
diff --git a/oak-it/src/test/java/org/apache/jackrabbit/oak/OakAssert.java b/oak-it/src/test/java/org/apache/jackrabbit/oak/OakAssert.java
index f2435e7d86..414d5efa0b 100644
--- a/oak-it/src/test/java/org/apache/jackrabbit/oak/OakAssert.java
+++ b/oak-it/src/test/java/org/apache/jackrabbit/oak/OakAssert.java
@@ -30,8 +30,8 @@ public final class OakAssert {
     }
 
     public static void assertSequence(Iterable<Tree> trees, String... names) {
-        List<String> expected = Lists.newArrayList(names);
-        List<String> actual = Lists.newArrayList();
+        List<String> expected = List.of(names);
+        List<String> actual = new ArrayList<>();
         for (Tree t : trees) {
             actual.add(t.getName());
         }
diff --git a/oak-it/src/test/java/org/apache/jackrabbit/oak/api/TreeTest.java b/oak-it/src/test/java/org/apache/jackrabbit/oak/api/TreeTest.java
index 91695363a3..8623585302 100644
--- a/oak-it/src/test/java/org/apache/jackrabbit/oak/api/TreeTest.java
+++ b/oak-it/src/test/java/org/apache/jackrabbit/oak/api/TreeTest.java
@@ -439,7 +439,7 @@ public class TreeTest extends OakBaseTest {
                 r1.commit();
 
                 // get current sequence of child names
-                List<String> names = Lists.newArrayList();
+                List<String> names = new ArrayList<>();
                 for (Tree t : r1.getTree("/").getChildren()) {
                     names.add(t.getName());
                 }
diff --git a/oak-it/src/test/java/org/apache/jackrabbit/oak/composite/AtomicCompositeMergeTest.java b/oak-it/src/test/java/org/apache/jackrabbit/oak/composite/AtomicCompositeMergeTest.java
index 7b1692548f..29292443b9 100644
--- a/oak-it/src/test/java/org/apache/jackrabbit/oak/composite/AtomicCompositeMergeTest.java
+++ b/oak-it/src/test/java/org/apache/jackrabbit/oak/composite/AtomicCompositeMergeTest.java
@@ -57,7 +57,7 @@ import java.util.function.Function;
 import java.util.stream.Collectors;
 import java.util.stream.StreamSupport;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.oak.api.QueryEngine.NO_MAPPINGS;
 import static org.junit.Assert.assertEquals;
 
@@ -104,7 +104,7 @@ public class AtomicCompositeMergeTest {
 
     private void testAtomicMerges(Function<Integer, Oak> oakSupplier) throws InterruptedException, IOException, ParseException, CommitFailedException {
         Set<String> failedMerges = Collections.synchronizedSet(new HashSet<>());
-        List<Thread> threads = newArrayList();
+        List<Thread> threads = new ArrayList<>();
 
         ContentSession generalSession = oakSupplier.apply(100).createContentSession();
         closer.register(generalSession);
diff --git a/oak-it/src/test/java/org/apache/jackrabbit/oak/composite/CompositeNodeStoreClusterObservationTest.java b/oak-it/src/test/java/org/apache/jackrabbit/oak/composite/CompositeNodeStoreClusterObservationTest.java
index 7f3c57564c..6a735a98cf 100644
--- a/oak-it/src/test/java/org/apache/jackrabbit/oak/composite/CompositeNodeStoreClusterObservationTest.java
+++ b/oak-it/src/test/java/org/apache/jackrabbit/oak/composite/CompositeNodeStoreClusterObservationTest.java
@@ -64,7 +64,7 @@ public class CompositeNodeStoreClusterObservationTest {
 
         MountInfoProvider mip = Mounts.newBuilder().build();
 
-        List<MountedNodeStore> nonDefaultStores = Lists.newArrayList();
+        List<MountedNodeStore> nonDefaultStores = new ArrayList<>();
         store = new CompositeNodeStore(mip, globalStore, nonDefaultStores);
 
         observer = new TestNodeObserver("/test");
diff --git a/oak-it/src/test/java/org/apache/jackrabbit/oak/composite/CompositeNodeStoreTest.java b/oak-it/src/test/java/org/apache/jackrabbit/oak/composite/CompositeNodeStoreTest.java
index ca16ca15f9..07279c38f4 100644
--- a/oak-it/src/test/java/org/apache/jackrabbit/oak/composite/CompositeNodeStoreTest.java
+++ b/oak-it/src/test/java/org/apache/jackrabbit/oak/composite/CompositeNodeStoreTest.java
@@ -19,7 +19,7 @@
 package org.apache.jackrabbit.oak.composite;
 
 import static org.apache.jackrabbit.guava.common.collect.Iterables.filter;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.INDEX_DEFINITIONS_NAME;
 import static org.apache.jackrabbit.oak.plugins.index.IndexUtils.createIndexDefinition;
 import static org.hamcrest.CoreMatchers.equalTo;
@@ -91,7 +91,7 @@ public class CompositeNodeStoreTest {
     private final NodeStoreKind root;
     private final NodeStoreKind mounts;
 
-    private final List<NodeStoreRegistration> registrations = newArrayList();
+    private final List<NodeStoreRegistration> registrations = new ArrayList<>();
 
     private CompositeNodeStore store;
     private NodeStore globalStore;
@@ -179,7 +179,7 @@ public class CompositeNodeStoreTest {
 
         // don't use the builder since it would fail due to too many read-write stores
         // but for the purposes of testing the general correctness it's fine
-        List<MountedNodeStore> nonDefaultStores = Lists.newArrayList();
+        List<MountedNodeStore> nonDefaultStores = new ArrayList<>();
         nonDefaultStores.add(new MountedNodeStore(mip.getMountByName("temp"), mountedStore));
         nonDefaultStores.add(new MountedNodeStore(mip.getMountByName("deep"), deepMountedStore));
         nonDefaultStores.add(new MountedNodeStore(mip.getMountByName("empty"), emptyStore));
@@ -650,13 +650,13 @@ public class CompositeNodeStoreTest {
         deepMountBuilder.child("new").setProperty("store", "deepMounted", Type.STRING);
         deepMountedStore.merge(deepMountBuilder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
 
-        List<ChildNodeEntry> children = newArrayList(filter(store.getRoot().getChildNodeEntries(),
+        List<ChildNodeEntry> children = NAL(filter(store.getRoot().getChildNodeEntries(),
                 x -> Objects.equals(x == null ? null : x.getName(), "new")));
         assertEquals(1, children.size());
         assertEquals("global", children.get(0).getNodeState().getString("store"));
 
         NodeBuilder rootBuilder = store.getRoot().builder();
-        List<String> childNames = newArrayList(filter(rootBuilder.getChildNodeNames(),
+        List<String> childNames = NAL(filter(rootBuilder.getChildNodeNames(),
                 x -> Objects.equals(x, "new")));
         assertEquals(1, childNames.size());
         assertEquals("global", rootBuilder.getChildNode("new").getString("store"));
diff --git a/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreTrackerGCTest.java b/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreTrackerGCTest.java
index 6cdb945d2f..2d2cdb8e2e 100644
--- a/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreTrackerGCTest.java
+++ b/oak-it/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreTrackerGCTest.java
@@ -61,7 +61,7 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 
 import static org.apache.jackrabbit.guava.common.collect.Sets.union;
 import static java.lang.String.valueOf;
@@ -156,8 +156,8 @@ public class DataStoreTrackerGCTest {
         // Simulate creation and active deletion after init without version gc to enable references to hang around
         List<String> addlAdded = doActiveDelete(cluster.nodeStore,
             (DataStoreBlobStore) cluster.blobStore, tracker, folder,0, 2);
-        List<String> addlPresent = Lists.newArrayList(addlAdded.get(2), addlAdded.get(3));
-        List<String> activeDeleted = Lists.newArrayList(addlAdded.get(0), addlAdded.get(1));
+        List<String> addlPresent = List.of(addlAdded.get(2), addlAdded.get(3));
+        List<String> activeDeleted = List.of(addlAdded.get(0), addlAdded.get(1));
         state.blobsPresent.addAll(addlPresent);
         state.blobsAdded.addAll(addlPresent);
 
@@ -186,8 +186,8 @@ public class DataStoreTrackerGCTest {
         File f = folder.newFile();
         tracker.remove(f, BlobTracker.Options.ACTIVE_DELETION);
 
-        List<String> addlPresent = Lists.newArrayList(addlAdded.get(2), addlAdded.get(3));
-        List<String> activeDeleted = Lists.newArrayList(addlAdded.get(0), addlAdded.get(1));
+        List<String> addlPresent = List.of(addlAdded.get(2), addlAdded.get(3));
+        List<String> activeDeleted = List.of(addlAdded.get(0), addlAdded.get(1));
         state.blobsPresent.addAll(addlPresent);
         state.blobsAdded.addAll(addlPresent);
 
@@ -233,8 +233,8 @@ public class DataStoreTrackerGCTest {
 
         List<String> addlAdded = doActiveDelete(cluster.nodeStore,
             (DataStoreBlobStore) cluster.blobStore, tracker, folder,0, 2);
-        List<String> addlPresent = Lists.newArrayList(addlAdded.get(2), addlAdded.get(3));
-        List<String> activeDeleted = Lists.newArrayList(addlAdded.get(0), addlAdded.get(1));
+        List<String> addlPresent = List.of(addlAdded.get(2), addlAdded.get(3));
+        List<String> activeDeleted = List.of(addlAdded.get(0), addlAdded.get(1));
         state.blobsPresent.addAll(addlPresent);
         state.blobsAdded.addAll(addlPresent);
 
@@ -250,17 +250,17 @@ public class DataStoreTrackerGCTest {
         DataStoreState state = init(cluster.nodeStore, 0);
 
         // Directly delete from blobstore
-        ArrayList<String> blobs = Lists.newArrayList(state.blobsPresent);
+        ArrayList<String> blobs = List.of(state.blobsPresent);
         String removedId = blobs.remove(0);
-        ((DataStoreBlobStore) s).deleteChunks(Lists.newArrayList(removedId), 0);
+        ((DataStoreBlobStore) s).deleteChunks(List.of(removedId), 0);
         state.blobsPresent = new HashSet<>(blobs);
         File f = folder.newFile();
-        writeStrings(Lists.newArrayList(removedId).iterator(), f, false);
+        writeStrings(List.of(removedId).iterator(), f, false);
         tracker.remove(f);
 
         List<String> addlAdded = doActiveDelete(cluster.nodeStore,
             (DataStoreBlobStore) cluster.blobStore, tracker, folder,0, 2);
-        List<String> addlPresent = Lists.newArrayList(addlAdded.get(2), addlAdded.get(3));
+        List<String> addlPresent = List.of(addlAdded.get(2), addlAdded.get(3));
         state.blobsPresent.addAll(addlPresent);
         state.blobsAdded.addAll(addlPresent);
 
@@ -270,7 +270,7 @@ public class DataStoreTrackerGCTest {
 
     private List<String> doActiveDelete(NodeStore nodeStore, DataStoreBlobStore blobStore, BlobIdTracker tracker,
         TemporaryFolder folder, int delIdx, int num) throws Exception {
-        List<String> set = Lists.newArrayList();
+        List<String> set = new ArrayList<>();
         NodeBuilder a = nodeStore.getRoot().builder();
         int number = 4;
         for (int i = 0; i < number; i++) {
@@ -280,11 +280,11 @@ public class DataStoreTrackerGCTest {
         }
         nodeStore.merge(a, INSTANCE, EMPTY);
 
-        List<String> deleted = Lists.newArrayList();
+        List<String> deleted = new ArrayList<>();
 
         //a = nodeStore.getRoot().builder();
         for(int idx = delIdx; idx < delIdx + num; idx++) {
-            blobStore.deleteChunks(Lists.newArrayList(set.get(idx)), 0);
+            blobStore.deleteChunks(List.of(set.get(idx)), 0);
             deleted.add(set.get(idx));
             a.child("cactive" + idx).remove();
         }
@@ -330,7 +330,7 @@ public class DataStoreTrackerGCTest {
     }
 
     private static List<String> range(int min, int max) {
-        List<String> list = newArrayList();
+        List<String> list = new ArrayList<>();
         for (int i = min; i <= max; i++) {
             list.add(valueOf(i));
         }
@@ -339,7 +339,7 @@ public class DataStoreTrackerGCTest {
 
     private HashSet<String> addNodeSpecialChars(DocumentNodeStore ds) throws Exception {
         List<String> specialCharSets =
-            Lists.newArrayList("q\\%22afdg\\%22", "a\nbcd", "a\n\rabcd", "012\\efg" );
+            List.of("q\\%22afdg\\%22", "a\nbcd", "a\n\rabcd", "012\\efg" );
         HashSet<String> set = new HashSet<String>();
         NodeBuilder a = ds.getRoot().builder();
         int toBeDeleted = 0;
@@ -350,7 +350,7 @@ public class DataStoreTrackerGCTest {
             Iterator<String> idIter =
                 ((GarbageCollectableBlobStore) ds.getBlobStore())
                     .resolveChunks(b.toString());
-            List<String> ids = Lists.newArrayList(idIter);
+            List<String> ids = List.of(idIter);
             if (toBeDeleted != i) {
                 set.addAll(ids);
             }
@@ -562,7 +562,7 @@ public class DataStoreTrackerGCTest {
         int number = 10;
         int maxDeleted = 5;
         // track the number of the assets to be deleted
-        List<Integer> processed = Lists.newArrayList();
+        List<Integer> processed = new ArrayList<>();
         Random rand = new Random(47);
         for (int i = idStart; i < idStart + maxDeleted; i++) {
             int n = rand.nextInt(number);
diff --git a/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/NodeDelegate.java b/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/NodeDelegate.java
index 74ddeaf733..ae04bb1dce 100644
--- a/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/NodeDelegate.java
+++ b/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/NodeDelegate.java
@@ -21,7 +21,7 @@ import static org.apache.jackrabbit.guava.common.collect.Iterables.addAll;
 import static org.apache.jackrabbit.guava.common.collect.Iterables.contains;
 import static org.apache.jackrabbit.guava.common.collect.Iterators.filter;
 import static org.apache.jackrabbit.guava.common.collect.Iterators.transform;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.JcrConstants.JCR_ISMIXIN;
 import static org.apache.jackrabbit.JcrConstants.JCR_LOCKISDEEP;
 import static org.apache.jackrabbit.JcrConstants.JCR_LOCKOWNER;
@@ -528,7 +528,7 @@ public class NodeDelegate extends ItemDelegate {
 
     private List<Tree> getNodeTypes(Tree tree, Tree typeRoot) {
         // Find applicable node types
-        List<Tree> types = newArrayList();
+        List<Tree> types = new ArrayList<>();
         String primaryName = TreeUtil.getName(tree, JCR_PRIMARYTYPE);
         if (primaryName == null) {
             primaryName = NT_BASE;
diff --git a/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/VersionDelegate.java b/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/VersionDelegate.java
index 172a3f2a7d..6f91eac4cd 100644
--- a/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/VersionDelegate.java
+++ b/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/VersionDelegate.java
@@ -63,7 +63,7 @@ public class VersionDelegate extends NodeDelegate {
             throw new RepositoryException("Inconsistent version storage. " +
                     "Version does not have a " + JCR_PREDECESSORS + " property.");
         }
-        List<VersionDelegate> predecessors = Lists.newArrayList();
+        List<VersionDelegate> predecessors = new ArrayList<>();
         VersionManagerDelegate vMgr = VersionManagerDelegate.create(sessionDelegate);
         for (String id : p.getMultiState().getValue(Type.REFERENCES)) {
             predecessors.add(vMgr.getVersionByIdentifier(id));
diff --git a/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ConsolidatedListenerMBeanImpl.java b/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ConsolidatedListenerMBeanImpl.java
index 814ee2621b..e2bec28bb5 100644
--- a/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ConsolidatedListenerMBeanImpl.java
+++ b/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ConsolidatedListenerMBeanImpl.java
@@ -151,7 +151,7 @@ public class ConsolidatedListenerMBeanImpl implements ConsolidatedListenerMBean
             TabularType tt = new TabularType(LeaderBoardData.class.getName(),
                     "Leaderboard", LeaderBoardData.TYPE, new String[]{"index"});
             tds = new TabularDataSupport(tt);
-            List<LeaderBoardData> leaderBoard = Lists.newArrayList();
+            List<LeaderBoardData> leaderBoard = new ArrayList<>();
             for (Map.Entry<ObjectName, EventListenerMBean> e : eventListeners.entrySet()){
                 String listenerId = getListenerId(e.getKey());
                 EventListenerMBean mbean = e.getValue();
@@ -185,7 +185,7 @@ public class ConsolidatedListenerMBeanImpl implements ConsolidatedListenerMBean
     }
 
     private Collection<BackgroundObserverMBean> collectNonJcrObservers() {
-        List<BackgroundObserverMBean> observers = Lists.newArrayList();
+        List<BackgroundObserverMBean> observers = new ArrayList<>();
 
         for (Map.Entry<ObjectName, BackgroundObserverMBean> o : bgObservers.entrySet()){
             String listenerId = getListenerId(o.getKey());
diff --git a/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/EventFactory.java b/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/EventFactory.java
index e75a1cda26..3cd5a51eec 100644
--- a/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/EventFactory.java
+++ b/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/EventFactory.java
@@ -225,7 +225,7 @@ public class EventFactory {
             return ImmutableMap.of(
                     JCR_PRIMARYTYPE, mapper.getJcrName(primaryType));
         } else {
-            List<String> jcrNames = Lists.newArrayList();
+            List<String> jcrNames = new ArrayList<>();
             for (String name : mixinTypes) {
                 jcrNames.add(mapper.getJcrName(name));
             }
diff --git a/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/OakEventFilterImpl.java b/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/OakEventFilterImpl.java
index ae30b57d03..287d09878a 100644
--- a/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/OakEventFilterImpl.java
+++ b/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/OakEventFilterImpl.java
@@ -19,7 +19,7 @@
 package org.apache.jackrabbit.oak.jcr.observation;
 
 import static java.util.Objects.requireNonNull;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static javax.jcr.observation.Event.NODE_REMOVED;
 
 import java.util.Arrays;
@@ -131,7 +131,7 @@ public class OakEventFilterImpl extends OakEventFilter {
             }
             if (predicateMatches) {
                 // greedy match - we switch to the globbing path filters
-                List<EventFilter> filters = newArrayList();
+                List<EventFilter> filters = new ArrayList<>();
                 for (String relativeGlobPath : relativeGlobPaths) {
                     if (relativeGlobPath.endsWith("*")) {
                         filters.add(new GlobbingPathFilter(relativeGlobPath, patternMap));
diff --git a/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ObservationManagerImpl.java b/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ObservationManagerImpl.java
index d9e20296c8..8e57a0cf58 100644
--- a/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ObservationManagerImpl.java
+++ b/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ObservationManagerImpl.java
@@ -18,7 +18,7 @@
  */
 package org.apache.jackrabbit.oak.jcr.observation;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 
 import static java.util.concurrent.TimeUnit.MILLISECONDS;
 import static org.apache.jackrabbit.oak.commons.PathUtils.concat;
@@ -138,7 +138,7 @@ public class ObservationManagerImpl implements JackrabbitObservationManager {
         List<ChangeProcessor> toBeStopped;
 
         synchronized (this) {
-            toBeStopped = newArrayList(processors.values());
+            toBeStopped = NAL(processors.values());
             processors.clear();
         }
 
@@ -254,7 +254,7 @@ public class ObservationManagerImpl implements JackrabbitObservationManager {
 
         FilterBuilder filterBuilder = new FilterBuilder();
         String depthPattern = isDeep ? STAR + '/' + STAR_STAR : STAR;
-        List<Condition> includeConditions = newArrayList();
+        List<Condition> includeConditions = new ArrayList<>();
         filterBuilder.addPathsForMBean(includePaths);
         for (String path : includePaths) {
             final String deepenedPath;
@@ -381,7 +381,7 @@ public class ObservationManagerImpl implements JackrabbitObservationManager {
     }
 
     private static List<Condition> createExclusions(FilterBuilder filterBuilder, Iterable<String> excludedPaths) {
-        List<Condition> conditions = newArrayList();
+        List<Condition> conditions = new ArrayList<>();
         for (String path : excludedPaths) {
             conditions.add(filterBuilder.not(filterBuilder.path(path + '/' + STAR_STAR)));
         }
diff --git a/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/session/NodeImpl.java b/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/session/NodeImpl.java
index 688a798620..8f187b6c68 100644
--- a/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/session/NodeImpl.java
+++ b/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/session/NodeImpl.java
@@ -936,7 +936,7 @@ public class NodeImpl<T extends NodeDelegate> extends ItemImpl<T> implements Jac
                 Iterator<String> mixinNames = getMixinTypeNames(tree).iterator();
                 if (mixinNames.hasNext()) {
                     NodeTypeManager ntMgr = getNodeTypeManager();
-                    List<NodeType> mixinTypes = Lists.newArrayList();
+                    List<NodeType> mixinTypes = new ArrayList<>();
                     while (mixinNames.hasNext()) {
                         mixinTypes.add(ntMgr.getNodeType(sessionContext.getJcrName(mixinNames.next())));
                     }
diff --git a/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/session/RefreshStrategy.java b/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/session/RefreshStrategy.java
index 80839d5073..7c448317f0 100644
--- a/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/session/RefreshStrategy.java
+++ b/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/session/RefreshStrategy.java
@@ -18,7 +18,7 @@
  */
 package org.apache.jackrabbit.oak.jcr.session;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static java.util.Arrays.asList;
 
 import java.util.ArrayList;
@@ -58,7 +58,7 @@ public interface RefreshStrategy {
         private final RefreshStrategy[] refreshStrategies;
 
         public static RefreshStrategy create(RefreshStrategy... refreshStrategies) {
-            ArrayList<RefreshStrategy> strategies = newArrayList();
+            ArrayList<RefreshStrategy> strategies = new ArrayList<>();
             for (RefreshStrategy strategy : refreshStrategies) {
                 if (strategy instanceof Composite) {
                     strategies.addAll(asList(((Composite) strategy).refreshStrategies));
diff --git a/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/xml/ImporterImpl.java b/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/xml/ImporterImpl.java
index b74de0f0c3..8d9f3d37a2 100644
--- a/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/xml/ImporterImpl.java
+++ b/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/xml/ImporterImpl.java
@@ -505,7 +505,7 @@ public class ImporterImpl implements Importer {
             Reference reference = (Reference) ref;
             if (reference.isMultiple()) {
                 Iterable<String> values = reference.property.getValue(Type.STRINGS);
-                List<String> newValues = Lists.newArrayList();
+                List<String> newValues = new ArrayList<>();
                 for (String original : values) {
                     String adjusted = refTracker.get(original);
                     if (adjusted != null) {
diff --git a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/AtomicCounterClusterIT.java b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/AtomicCounterClusterIT.java
index dafa0b9391..6d748741a2 100644
--- a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/AtomicCounterClusterIT.java
+++ b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/AtomicCounterClusterIT.java
@@ -63,7 +63,7 @@ public class AtomicCounterClusterIT  extends DocumentClusterIT {
     private static final Set<Fixture> FIXTURES = FixturesHelper.getFixtures();
     private static final Logger LOG = LoggerFactory.getLogger(AtomicCounterClusterIT.class);
     private static final PerfLogger LOG_PERF = new PerfLogger(LOG);
-    private List<CustomScheduledExecutor> executors = Lists.newArrayList();
+    private List<CustomScheduledExecutor> executors = new ArrayList<>();
     
     @BeforeClass
     public static void assumtions() {
@@ -74,7 +74,7 @@ public class AtomicCounterClusterIT  extends DocumentClusterIT {
     @Override
     public void before() throws Exception {
         super.before();
-        executors = Lists.newArrayList();
+        executors = new ArrayList<>();
     }
 
     @Override
@@ -142,7 +142,7 @@ public class AtomicCounterClusterIT  extends DocumentClusterIT {
         
         // for each cluster node, `numIncrements` sessions pushing random increments
         long start = LOG_PERF.start("Firing the threads");
-        List<ListenableFutureTask<Void>> tasks = Lists.newArrayList();
+        List<ListenableFutureTask<Void>> tasks = new ArrayList<>();
         for (Repository rep : repos) {
             final Repository r = rep;
             for (int i = 0; i < numIncrements; i++) {
diff --git a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/AtomicCounterIT.java b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/AtomicCounterIT.java
index 681d64961b..f328ac4a20 100644
--- a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/AtomicCounterIT.java
+++ b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/AtomicCounterIT.java
@@ -78,7 +78,7 @@ public class AtomicCounterIT extends AbstractRepositoryTest {
             // ensuring initial state
             assertEquals(expected.get(), counter.getProperty(PROP_COUNTER).getLong());
             
-            List<ListenableFutureTask<Void>> tasks = Lists.newArrayList();
+            List<ListenableFutureTask<Void>> tasks = new ArrayList<>();
             for (int t = 0; t < 100; t++) {
                 tasks.add(updateCounter(counterPath, rnd.nextInt(10) + 1, expected));
             }
diff --git a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ConcurrentIndexUpdateIT.java b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ConcurrentIndexUpdateIT.java
index 60b5e390f3..6877b9c5f0 100644
--- a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ConcurrentIndexUpdateIT.java
+++ b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ConcurrentIndexUpdateIT.java
@@ -57,8 +57,8 @@ public class ConcurrentIndexUpdateIT extends AbstractRepositoryTest {
         getAdminSession().save();
 
         final List<Exception> exceptions = Collections.synchronizedList(new ArrayList<Exception>());
-        List<AtomicLong> counters = Lists.newArrayList();
-        List<Thread> writers = Lists.newArrayList();
+        List<AtomicLong> counters = new ArrayList<>();
+        List<Thread> writers = new ArrayList<>();
         for (int i = 0; i < NUM_WRITERS; i++) {
             final int id = i;
             final AtomicLong counter = new AtomicLong();
diff --git a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ConcurrentReadIT.java b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ConcurrentReadIT.java
index 8283f1d20f..220c6bb08c 100644
--- a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ConcurrentReadIT.java
+++ b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ConcurrentReadIT.java
@@ -63,7 +63,7 @@ public class ConcurrentReadIT extends AbstractRepositoryTest {
             ListeningExecutorService executorService = MoreExecutors.listeningDecorator(
                     Executors.newCachedThreadPool());
 
-            List<ListenableFuture<?>> futures = Lists.newArrayList();
+            List<ListenableFuture<?>> futures = new ArrayList<>();
             for (int k = 0; k < 20; k ++) {
                 futures.add(executorService.submit(new Callable<Void>() {
                     @Override
@@ -101,7 +101,7 @@ public class ConcurrentReadIT extends AbstractRepositoryTest {
             ListeningExecutorService executorService = MoreExecutors.listeningDecorator(
                     Executors.newCachedThreadPool());
 
-            List<ListenableFuture<?>> futures = Lists.newArrayList();
+            List<ListenableFuture<?>> futures = new ArrayList<>();
             for (int k = 0; k < 20; k ++) {
                 futures.add(executorService.submit(new Callable<Void>() {
                     @Override
diff --git a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/JackrabbitNodeTest.java b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/JackrabbitNodeTest.java
index 48483c00b9..27f4856fca 100644
--- a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/JackrabbitNodeTest.java
+++ b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/JackrabbitNodeTest.java
@@ -16,7 +16,7 @@
  */
 package org.apache.jackrabbit.oak.jcr;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static java.util.concurrent.TimeUnit.SECONDS;
 
 import java.io.InputStreamReader;
@@ -99,7 +99,7 @@ public class JackrabbitNodeTest extends AbstractJCRTest {
     public void _testRenameEventHandling() throws RepositoryException, InterruptedException {
         Session s = getHelper().getSuperuserSession();
         ObservationManager mgr = s.getWorkspace().getObservationManager();
-        final List<Event> events = newArrayList();
+        final List<Event> events = new ArrayList<>();
         final CountDownLatch latch1 = new CountDownLatch(1);
         final CountDownLatch latch2 = new CountDownLatch(1);
 
diff --git a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/LargeOperationIT.java b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/LargeOperationIT.java
index 675bc60827..ad52f1136f 100644
--- a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/LargeOperationIT.java
+++ b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/LargeOperationIT.java
@@ -121,7 +121,7 @@ public class LargeOperationIT {
      */
     private static List<Integer> createSequence(int from, int to, int count) {
         double slope = pow(to / (double) from, 1 / ((double) count - 1));
-        List<Integer> seq = Lists.newArrayList();
+        List<Integer> seq = new ArrayList<>();
         int c = 0;
         int v = from;
         do {
@@ -133,7 +133,7 @@ public class LargeOperationIT {
 
     @Parameterized.Parameters
     public static Collection<Object[]> fixtures() throws Exception {
-        List<Object[]> fixtures = Lists.newArrayList();
+        List<Object[]> fixtures = new ArrayList<>();
         SegmentTarFixture segmentFixture = new SegmentTarFixture();
         if (segmentFixture.isAvailable()) {
             fixtures.add(new Object[] {segmentFixture, SEGMENT_SCALES});
@@ -241,7 +241,7 @@ public class LargeOperationIT {
         final Node n = session.getRootNode().addNode("large-commit", "oak:Unstructured");
         final ContentGenerator contentGenerator = new ContentGenerator();
 
-        ArrayList<Double> executionTimes = Lists.newArrayList();
+        ArrayList<Double> executionTimes = new ArrayList<>();
         for (int scale : scales) {
             ScalabilityTest test = new ScalabilityTest(scale) {
                 @Override
@@ -271,7 +271,7 @@ public class LargeOperationIT {
         final Node n = session.getRootNode().addNode("large-copy", "oak:Unstructured");
         final ContentGenerator contentGenerator = new ContentGenerator(1000);
 
-        ArrayList<Double> executionTimes = Lists.newArrayList();
+        ArrayList<Double> executionTimes = new ArrayList<>();
         for (int scale : scales) {
             ScalabilityTest test = new ScalabilityTest(scale) {
                 @Override
@@ -303,7 +303,7 @@ public class LargeOperationIT {
         final Node n = session.getRootNode().addNode("large-move", "oak:Unstructured");
         final ContentGenerator contentGenerator = new ContentGenerator(1000);
 
-        ArrayList<Double> executionTimes = Lists.newArrayList();
+        ArrayList<Double> executionTimes = new ArrayList<>();
         for (int scale : scales) {
             ScalabilityTest test = new ScalabilityTest(scale) {
                 @Override
@@ -330,7 +330,7 @@ public class LargeOperationIT {
         final Node n = session.getRootNode().addNode("large-remove", "oak:Unstructured");
         final ContentGenerator contentGenerator = new ContentGenerator(1000);
 
-        ArrayList<Double> executionTimes = Lists.newArrayList();
+        ArrayList<Double> executionTimes = new ArrayList<>();
         for (int scale : scales) {
             ScalabilityTest test = new ScalabilityTest(scale) {
                 @Override
@@ -362,7 +362,7 @@ public class LargeOperationIT {
     public void manySiblings() throws RepositoryException, InterruptedException {
         final Node n = session.getRootNode().addNode("many-siblings", "oak:Unstructured");
 
-        ArrayList<Double> executionTimes = Lists.newArrayList();
+        ArrayList<Double> executionTimes = new ArrayList<>();
         for (int scale : scales) {
             ScalabilityTest test = new ScalabilityTest(scale) {
                 @Override
@@ -401,7 +401,7 @@ public class LargeOperationIT {
         final Node n = session.getRootNode().addNode("pending-events", "oak:Unstructured");
         final ContentGenerator contentGenerator = new ContentGenerator(1000);
 
-        ArrayList<Double> executionTimes = Lists.newArrayList();
+        ArrayList<Double> executionTimes = new ArrayList<>();
         for (int scale : scales) {
             final Observer observer = new Observer(scale, 100);
             try {
@@ -436,7 +436,7 @@ public class LargeOperationIT {
         Future<Void> result = delayedEventHandling.start();
 
         try {
-            ArrayList<Double> executionTimes = Lists.newArrayList();
+            ArrayList<Double> executionTimes = new ArrayList<>();
             for (int scale : scales) {
                 ScalabilityTest test = new ScalabilityTest(scale) {
                     @Override
diff --git a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ObservationQueueTest.java b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ObservationQueueTest.java
index 3fabef950b..16b70f1e14 100644
--- a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ObservationQueueTest.java
+++ b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ObservationQueueTest.java
@@ -88,11 +88,11 @@ public class ObservationQueueTest extends AbstractClusterTest {
     private static final int NUM_CHILDREN = 100;
 
     private List<Throwable> exceptions = Collections.synchronizedList(new ArrayList<Throwable>());
-    private List<Session> sessions = Lists.newArrayList();
-    private List<Thread> writers = Lists.newArrayList();
-    private List<Thread> readers = Lists.newArrayList();
-    private List<Thread> observers = Lists.newArrayList();
-    private List<Thread> loggers = Lists.newArrayList();
+    private List<Session> sessions = new ArrayList<>();
+    private List<Thread> writers = new ArrayList<>();
+    private List<Thread> readers = new ArrayList<>();
+    private List<Thread> observers = new ArrayList<>();
+    private List<Thread> loggers = new ArrayList<>();
 
     @BeforeClass
     public static void dropDB() {
@@ -108,7 +108,7 @@ public class ObservationQueueTest extends AbstractClusterTest {
 
     @Test
     public void heavyLoad() throws Throwable {
-        List<Whiteboard> whiteboards = Lists.newArrayList(w1, w2);
+        List<Whiteboard> whiteboards = List.of(w1, w2);
         Iterator<Repository> repos = Iterators.cycle(r1, r2);
         AtomicLong commitCounter = new AtomicLong();
         for (int i = 0; i < NUM_WRITERS; i++) {
@@ -204,7 +204,7 @@ public class ObservationQueueTest extends AbstractClusterTest {
         @Override
         void perform() throws Exception {
             s.refresh(false);
-            List<Node> nodes = Lists.newArrayList();
+            List<Node> nodes = new ArrayList<>();
             for (NodeIterator it = s.getRootNode().getNodes(); it.hasNext(); ) {
                 Node n = it.nextNode();
                 if (n.getName().startsWith("session-")) {
@@ -341,7 +341,7 @@ public class ObservationQueueTest extends AbstractClusterTest {
 
         @Override
         void perform() throws Exception {
-            List<String> stats = Lists.newArrayList();
+            List<String> stats = new ArrayList<>();
             for (Whiteboard w : whiteboards) {
                 stats.add(queueStats(w));
             }
@@ -371,7 +371,7 @@ public class ObservationQueueTest extends AbstractClusterTest {
                 micros += bean.getMicrosecondsPerEventDelivery();
                 numListeners++;
             }
-            List<String> stats = Lists.newArrayList();
+            List<String> stats = new ArrayList<>();
             stats.add(String.valueOf(len));
             stats.add(String.valueOf(ext));
             stats.add(String.valueOf(micros / numListeners));
diff --git a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ReferenceBinaryIT.java b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ReferenceBinaryIT.java
index de1c6a33c3..245365ba3e 100644
--- a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ReferenceBinaryIT.java
+++ b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ReferenceBinaryIT.java
@@ -146,7 +146,7 @@ public class ReferenceBinaryIT {
         
         SegmentNodeStore sns = SegmentNodeStoreBuilders.builder(fileStore).build();
         
-        List<Object[]> fixtures = Lists.newArrayList();
+        List<Object[]> fixtures = new ArrayList<>();
         SegmentTarFixture segmentTarFixture = new SegmentTarFixture(sns);
         
         if (segmentTarFixture.isAvailable()) {
diff --git a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java
index ccf7a67652..8ff61a36bb 100644
--- a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java
+++ b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java
@@ -2301,7 +2301,7 @@ public class RepositoryTest extends AbstractRepositoryTest {
 
     @Test
     public void largeMultiValueProperty() throws Exception{
-        final List<String> logMessages = Lists.newArrayList();
+        final List<String> logMessages = new ArrayList<>();
         Appender<ILoggingEvent> a = new AppenderBase<ILoggingEvent>() {
             @Override
             protected void append(ILoggingEvent e) {
diff --git a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/binary/BinaryAccessDSGCIT.java b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/binary/BinaryAccessDSGCIT.java
index 1028587abe..b99e4d9190 100644
--- a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/binary/BinaryAccessDSGCIT.java
+++ b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/binary/BinaryAccessDSGCIT.java
@@ -241,12 +241,12 @@ public class BinaryAccessDSGCIT extends AbstractBinaryAccessIT {
         Map<String, Content> binaryContent = Maps.newHashMap();
         Map<String, Binary> binaries = Maps.newHashMap();
 
-        for (String key : Lists.newArrayList(TRADITIONAL_UPLOAD_1, TRADITIONAL_UPLOAD_2)) {
+        for (String key : List.of(TRADITIONAL_UPLOAD_1, TRADITIONAL_UPLOAD_2)) {
             Content content = Content.createRandom(BINARY_SIZE);
             binaryContent.put(key, content);
             binaries.put(key, storeBinaryAndRetrieve(session, toAbsolutePath(key), content));
         }
-        for (String key : Lists.newArrayList(DIRECT_UPLOAD_1, DIRECT_UPLOAD_2)) {
+        for (String key : List.of(DIRECT_UPLOAD_1, DIRECT_UPLOAD_2)) {
             Content content = Content.createRandom(BINARY_SIZE);
             binaryContent.put(key, content);
             binaries.put(key, createDirectBinary(toAbsolutePath(key), content));
@@ -262,7 +262,7 @@ public class BinaryAccessDSGCIT extends AbstractBinaryAccessIT {
 
         // Delete one of the binaries uploaded via repo and one uploaded directly
         Node testRoot = session.getNode("/" + TEST_ROOT);
-        List<String> deletedBinaryPaths = Lists.newArrayList(TRADITIONAL_UPLOAD_2, DIRECT_UPLOAD_2);
+        List<String> deletedBinaryPaths = List.of(TRADITIONAL_UPLOAD_2, DIRECT_UPLOAD_2);
         for (String path : deletedBinaryPaths) {
             Node toRemove = testRoot.getNode(path);
             toRemove.remove();
@@ -288,7 +288,7 @@ public class BinaryAccessDSGCIT extends AbstractBinaryAccessIT {
 
         // Verify that the two binaries remaining can still be accessed
         Map<String, Binary> deletedBinaries = Maps.newHashMap();
-        for (String deletedPath : Lists.newArrayList(TRADITIONAL_UPLOAD_2, DIRECT_UPLOAD_2)) {
+        for (String deletedPath : List.of(TRADITIONAL_UPLOAD_2, DIRECT_UPLOAD_2)) {
             deletedBinaries.put(deletedPath, binaries.get(deletedPath));
             binaries.remove(deletedPath);
             binaryContent.remove(deletedPath);
diff --git a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/binary/BinaryAccessUnsupportedIT.java b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/binary/BinaryAccessUnsupportedIT.java
index 7c920f6272..a9dfcb27f6 100644
--- a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/binary/BinaryAccessUnsupportedIT.java
+++ b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/binary/BinaryAccessUnsupportedIT.java
@@ -61,7 +61,7 @@ public class BinaryAccessUnsupportedIT extends AbstractRepositoryTest {
 
     @Parameterized.Parameters(name = "{0}")
     public static Iterable<?> dataStoreFixtures() {
-        Collection<NodeStoreFixture> fixtures = Lists.newArrayList();
+        Collection<NodeStoreFixture> fixtures = new ArrayList<>();
 
         // Create a fixture using FileDataStore.  FileDataStore doesn't support the direct access features so
         // it should be a valid real-world example of how the API should behave when the implementation doesn't
diff --git a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/cluster/ObservationTest.java b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/cluster/ObservationTest.java
index 3314f79308..ec99cab1ee 100644
--- a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/cluster/ObservationTest.java
+++ b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/cluster/ObservationTest.java
@@ -78,7 +78,7 @@ public class ObservationTest extends AbstractClusterTest {
     @Test
     public void externalEvents() throws Throwable {
         final Set<String> externallyAdded = synchronizedSet(new LinkedHashSet<String>());
-        final List<Throwable> exceptions = Lists.newArrayList();
+        final List<Throwable> exceptions = new ArrayList<>();
         ObservationManager obsMgr = s1.getWorkspace().getObservationManager();
         final AtomicLong localEvents = new AtomicLong();
         final AtomicLong externalEvents = new AtomicLong();
diff --git a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/observation/ObservationTest.java b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/observation/ObservationTest.java
index 948c758450..03ceefc0f6 100644
--- a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/observation/ObservationTest.java
+++ b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/observation/ObservationTest.java
@@ -1355,7 +1355,7 @@ public class ObservationTest extends AbstractRepositoryTest {
 
         public List<Expectation> getMissing(int time, TimeUnit timeUnit)
                 throws ExecutionException, InterruptedException {
-            List<Expectation> missing = Lists.newArrayList();
+            List<Expectation> missing = new ArrayList<>();
             long t0 = System.nanoTime();
             try {
                 Futures.allAsList(expected).get(time, timeUnit);
@@ -1371,7 +1371,7 @@ public class ObservationTest extends AbstractRepositoryTest {
         }
 
         public List<Event> getUnexpected() {
-            return Lists.newArrayList(unexpected);
+            return List.of(unexpected);
         }
 
         @Override
diff --git a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/UserManagementTest.java b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/UserManagementTest.java
index de2eae46cd..576129ed7a 100644
--- a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/UserManagementTest.java
+++ b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/UserManagementTest.java
@@ -54,7 +54,7 @@ public class UserManagementTest extends AbstractEvaluationTest {
     private final String userId = "testUser2";
     private final String groupId = "testGroup2";
 
-    private List<String> authorizablesToRemove = Lists.newArrayList(userId, groupId);
+    private List<String> authorizablesToRemove = List.of(userId, groupId);
 
     @Override
     protected void setUp() throws Exception {
diff --git a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/user/FindAuthorizablesTest.java b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/user/FindAuthorizablesTest.java
index fca813a190..d9976c919a 100644
--- a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/user/FindAuthorizablesTest.java
+++ b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/user/FindAuthorizablesTest.java
@@ -333,7 +333,7 @@ public class FindAuthorizablesTest extends AbstractUserTest {
 
     @Test
     public void testFindUserWithSpecialCharIdByPrincipalName() throws RepositoryException {
-        List<String> ids = Lists.newArrayList("'", "]", "']", Text.escapeIllegalJcrChars("']"), Text.escape("']"));
+        List<String> ids = List.of("'", "]", "']", Text.escapeIllegalJcrChars("']"), Text.escape("']"));
         for (String id : ids) {
             User user = null;
             try {
diff --git a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/user/GroupImportWithActionsBestEffortTest.java b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/user/GroupImportWithActionsBestEffortTest.java
index f8ce440545..16366205db 100755
--- a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/user/GroupImportWithActionsBestEffortTest.java
+++ b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/user/GroupImportWithActionsBestEffortTest.java
@@ -155,7 +155,7 @@ public class GroupImportWithActionsBestEffortTest extends AbstractImportTest {
 
     private final class TestActionProvider implements AuthorizableActionProvider {
 
-        private final List<AuthorizableAction> actions = Lists.newArrayList();
+        private final List<AuthorizableAction> actions = new ArrayList<>();
 
         private void addAction(AuthorizableAction action) {
             actions.add(action);
diff --git a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/user/GroupImportWithActionsTest.java b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/user/GroupImportWithActionsTest.java
index f92d73629f..c26cbb3d67 100644
--- a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/user/GroupImportWithActionsTest.java
+++ b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/user/GroupImportWithActionsTest.java
@@ -150,7 +150,7 @@ public class GroupImportWithActionsTest extends AbstractImportTest {
 
     private final class TestActionProvider implements AuthorizableActionProvider {
 
-        private final List<AuthorizableAction> actions = Lists.newArrayList();
+        private final List<AuthorizableAction> actions = new ArrayList<>();
 
         private void addAction(AuthorizableAction action) {
             actions.add(action);
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 ca8656748d..f2c697cfd1 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
@@ -971,7 +971,7 @@ public class UserQueryTest extends AbstractUserTest {
 
     @Test
     public void testQueryUserWithSpecialCharId() throws Exception {
-        List<String> ids = Lists.newArrayList("'", "]");
+        List<String> ids = List.of("'", "]");
         for (String id : ids) {
             User user = null;
             try {
diff --git a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexAugmentorFactory.java b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexAugmentorFactory.java
index 56f5beac6d..191ca79f4c 100644
--- a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexAugmentorFactory.java
+++ b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexAugmentorFactory.java
@@ -186,7 +186,7 @@ public class IndexAugmentorFactory {
         @Override
         public List<Field> getAugmentedFields(final String path,
                                               final NodeState document, final NodeState indexDefinition) {
-            List<Field> fields = Lists.newArrayList();
+            List<Field> fields = new ArrayList<>();
             for (IndexFieldProvider indexFieldProvider : providers) {
                 final long start = PERFLOG.start();
                 Iterable<Field> providedFields = indexFieldProvider.getAugmentedFields(path, document, indexDefinition);
@@ -218,7 +218,7 @@ public class IndexAugmentorFactory {
 
         @Override
         public Query getQueryTerm(final String text, final Analyzer analyzer, NodeState indexDefinition) {
-            List<Query> subQueries = Lists.newArrayList();
+            List<Query> subQueries = new ArrayList<>();
             for (FulltextQueryTermsProvider fulltextQueryTermsProvider : providers) {
                 final long start = PERFLOG.start();
                 Query subQuery = fulltextQueryTermsProvider.getQueryTerm(text, analyzer, indexDefinition);
diff --git a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorProvider.java b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorProvider.java
index 7ab0f00685..cdca866916 100644
--- a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorProvider.java
+++ b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorProvider.java
@@ -314,8 +314,8 @@ public class LuceneIndexEditorProvider implements IndexEditorProvider {
     private static class COWDirectoryCleanupCallback implements IndexCommitCallback, COWDirectoryTracker {
         private static final Logger LOG = LoggerFactory.getLogger(COWDirectoryCleanupCallback.class);
 
-        private List<CopyOnWriteDirectory> openedCoWDirectories = Lists.newArrayList();
-        private List<File> reindexingLocalDirectories = Lists.newArrayList();
+        private List<CopyOnWriteDirectory> openedCoWDirectories = new ArrayList<>();
+        private List<File> reindexingLocalDirectories = new ArrayList<>();
 
 
         @Override
diff --git a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderService.java b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderService.java
index e7e9e4fd8c..9f220d14ce 100644
--- a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderService.java
+++ b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderService.java
@@ -110,8 +110,8 @@ public class LuceneIndexProviderService {
 
     private LuceneIndexProvider indexProvider;
 
-    private final List<ServiceRegistration> regs = Lists.newArrayList();
-    private final List<Registration> oakRegs = Lists.newArrayList();
+    private final List<ServiceRegistration> regs = new ArrayList<>();
+    private final List<Registration> oakRegs = new ArrayList<>();
 
     private final Logger log = LoggerFactory.getLogger(getClass());
 
diff --git a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/NodeStateAnalyzerFactory.java b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/NodeStateAnalyzerFactory.java
index e9834b2803..2042532022 100644
--- a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/NodeStateAnalyzerFactory.java
+++ b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/NodeStateAnalyzerFactory.java
@@ -60,7 +60,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import static java.util.Objects.requireNonNull;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 
 /**
  * Constructs a Lucene Analyzer from nodes (based on NodeState content).
@@ -107,7 +107,7 @@ final class NodeStateAnalyzerFactory {
     }
 
     private TokenFilterFactory[] loadTokenFilterFactories(NodeState tokenFiltersState) {
-        List<TokenFilterFactory> result = newArrayList();
+        List<TokenFilterFactory> result = new ArrayList<>();
 
         Tree tree = TreeFactory.createReadOnlyTree(tokenFiltersState);
         for (Tree t : tree.getChildren()){
@@ -124,7 +124,7 @@ final class NodeStateAnalyzerFactory {
     }
 
     private CharFilterFactory[] loadCharFilterFactories(NodeState charFiltersState) {
-        List<CharFilterFactory> result = newArrayList();
+        List<CharFilterFactory> result = new ArrayList<>();
 
         //Need to read children in order
         Tree tree = TreeFactory.createReadOnlyTree(charFiltersState);
diff --git a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ActiveDeletedBlobCollectorFactory.java b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ActiveDeletedBlobCollectorFactory.java
index 7dfcd33d63..699d846246 100644
--- a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ActiveDeletedBlobCollectorFactory.java
+++ b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ActiveDeletedBlobCollectorFactory.java
@@ -273,7 +273,7 @@ public class ActiveDeletedBlobCollectorFactory {
 
                                     lastDeletedBlobTimestamp = Math.max(lastDeletedBlobTimestamp, blobDeletionTimestamp);
 
-                                    List<String> chunkIds = Lists.newArrayList(blobStore.resolveChunks(deletedBlobId));
+                                    List<String> chunkIds = List.of(blobStore.resolveChunks(deletedBlobId));
                                     if (chunkIds.size() > 0) {
                                         long deleted = blobStore.countDeleteChunks(chunkIds, 0);
                                         if (deleted < 1) {
diff --git a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/CopyOnReadDirectory.java b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/CopyOnReadDirectory.java
index 9fa5a23635..9e99593245 100644
--- a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/CopyOnReadDirectory.java
+++ b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/CopyOnReadDirectory.java
@@ -167,7 +167,7 @@ public class CopyOnReadDirectory extends FilterDirectory {
         long start = PERF_LOGGER.start();
         long totalSize = 0;
         int copyCount = 0;
-        List<String> copiedFileNames = Lists.newArrayList();
+        List<String> copiedFileNames = new ArrayList<>();
         for (String name : remote.listAll()) {
             if (IndexCopier.REMOTE_ONLY.contains(name)) {
                 continue;
diff --git a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexRootDirectory.java b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexRootDirectory.java
index e0af237d26..bf800d396f 100644
--- a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexRootDirectory.java
+++ b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexRootDirectory.java
@@ -191,7 +191,7 @@ public class IndexRootDirectory {
      * The resulting file name would be truncated to MAX_NAME_LENGTH
      */
     static String getIndexFolderBaseName(String indexPath) {
-        List<String> elements = Lists.newArrayList(PathUtils.elements(indexPath));
+        List<String> elements = List.of(PathUtils.elements(indexPath));
         Collections.reverse(elements);
         List<String> result = new ArrayList<>(2);
 
diff --git a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/OakBufferedIndexFile.java b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/OakBufferedIndexFile.java
index caad3b6669..6b70eebc0c 100644
--- a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/OakBufferedIndexFile.java
+++ b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/OakBufferedIndexFile.java
@@ -36,7 +36,7 @@ import org.jetbrains.annotations.NotNull;
 import static org.apache.jackrabbit.guava.common.base.Preconditions.checkElementIndex;
 import static java.util.Objects.requireNonNull;
 import static org.apache.jackrabbit.guava.common.base.Preconditions.checkPositionIndexes;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.JcrConstants.JCR_DATA;
 import static org.apache.jackrabbit.JcrConstants.JCR_LASTMODIFIED;
 import static org.apache.jackrabbit.oak.api.Type.BINARIES;
@@ -127,9 +127,9 @@ class OakBufferedIndexFile implements OakIndexFile {
 
         PropertyState property = file.getProperty(JCR_DATA);
         if (property != null && property.getType() == BINARIES) {
-            this.data = newArrayList(property.getValue(BINARIES));
+            this.data = NAL(property.getValue(BINARIES));
         } else {
-            this.data = newArrayList();
+            this.data = new ArrayList<>();
         }
 
         this.length = (long)data.size() * blobSize;
@@ -152,7 +152,7 @@ class OakBufferedIndexFile implements OakIndexFile {
 
         this.position = that.position;
         this.length = that.length;
-        this.data = newArrayList(that.data);
+        this.data = NAL(that.data);
         this.dataModified = that.dataModified;
         this.blobFactory = that.blobFactory;
     }
diff --git a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/OakDirectory.java b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/OakDirectory.java
index e98c2ce7f0..e2f062b7df 100644
--- a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/OakDirectory.java
+++ b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/OakDirectory.java
@@ -167,7 +167,7 @@ public class OakDirectory extends Directory {
                         // OAK-7066: Also, make sure that we have at least some non-inlined chunks to delete
                         if (blobId != null && !InMemoryDataRecord.isInstance(blobId)) {
                             blobDeletionCallback.deleted(blobId,
-                                    Lists.newArrayList(definition.getIndexPath(), dataNodeName, name));
+                                    List.of(definition.getIndexPath(), dataNodeName, name));
                         }
                     }
                 }
diff --git a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/DocumentQueue.java b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/DocumentQueue.java
index 51f31e8557..a5caae792d 100644
--- a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/DocumentQueue.java
+++ b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/DocumentQueue.java
@@ -232,7 +232,7 @@ public class DocumentQueue implements Closeable, IndexingQueue {
     }
 
     List<LuceneDoc> getQueuedDocs(){
-        List<LuceneDoc> docs = Lists.newArrayList();
+        List<LuceneDoc> docs = new ArrayList<>();
         docs.addAll(docsQueue);
         return docs;
     }
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/composite/CompositeNodeStoreLuceneIndexTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/composite/CompositeNodeStoreLuceneIndexTest.java
index 5e1a3c0eab..8725d08955 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/composite/CompositeNodeStoreLuceneIndexTest.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/composite/CompositeNodeStoreLuceneIndexTest.java
@@ -371,7 +371,7 @@ public class CompositeNodeStoreLuceneIndexTest extends CompositeNodeStoreQueryTe
             this.mip = Mounts.newBuilder().readOnlyMount(readOnlyMountName, "/libs").build();
 
             initReadOnlySeedRepo();
-            List<MountedNodeStore> nonDefaultStores = Lists.newArrayList();
+            List<MountedNodeStore> nonDefaultStores = new ArrayList<>();
             nonDefaultStores.add(new MountedNodeStore(this.mip.getMountByName(readOnlyMountName), readOnlyStore));
             this.store = new CompositeNodeStore(this.mip, globalStore, nonDefaultStores);
 
@@ -463,7 +463,7 @@ public class CompositeNodeStoreLuceneIndexTest extends CompositeNodeStoreQueryTe
             compositeSession.logout();
             shutdown(compositeRepository);
 
-            List<MountedNodeStore> nonDefaultStores = Lists.newArrayList();
+            List<MountedNodeStore> nonDefaultStores = new ArrayList<>();
             nonDefaultStores.add(new MountedNodeStore(this.mip.getMountByName(readOnlyMountName), readOnlyStore));
             this.store = new CompositeNodeStore(this.mip, globalStore, nonDefaultStores);
             compositeRepository = createJCRRepository(this.store, this.mip);
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/composite/CompositeNodeStoreQueryTestBase.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/composite/CompositeNodeStoreQueryTestBase.java
index 9249962bed..7271317055 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/composite/CompositeNodeStoreQueryTestBase.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/composite/CompositeNodeStoreQueryTestBase.java
@@ -18,7 +18,7 @@
  */
 package org.apache.jackrabbit.oak.composite;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.oak.api.QueryEngine.NO_BINDINGS;
 import static org.apache.jackrabbit.oak.api.QueryEngine.NO_MAPPINGS;
 import static org.hamcrest.CoreMatchers.equalTo;
@@ -108,7 +108,7 @@ public class CompositeNodeStoreQueryTestBase {
     protected final NodeStoreKind nodeStoreRoot;
     protected final NodeStoreKind mounts;
 
-    private final List<NodeStoreRegistration> registrations = newArrayList();
+    private final List<NodeStoreRegistration> registrations = new ArrayList<>();
 
     private NodeStore mountedStore;
     private NodeStore deepMountedStore;
@@ -223,7 +223,7 @@ public class CompositeNodeStoreQueryTestBase {
 
         // don't use the builder since it would fail due to too many read-write stores
         // but for the purposes of testing the general correctness it's fine
-        List<MountedNodeStore> nonDefaultStores = Lists.newArrayList();
+        List<MountedNodeStore> nonDefaultStores = new ArrayList<>();
         nonDefaultStores.add(new MountedNodeStore(mip.getMountByName("temp"), mountedStore));
         nonDefaultStores.add(new MountedNodeStore(mip.getMountByName("deep"), deepMountedStore));
         nonDefaultStores.add(new MountedNodeStore(mip.getMountByName("empty"), emptyStore));
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/composite/PrefetchTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/composite/PrefetchTest.java
index 9f739d5799..2b0e50c4cb 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/composite/PrefetchTest.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/composite/PrefetchTest.java
@@ -180,7 +180,7 @@ public class PrefetchTest extends CompositeNodeStoreQueryTestBase {
             this.mip = Mounts.newBuilder().readOnlyMount(readOnlyMountName, "/libs").build();
 
             initReadOnlySeedRepo();
-            List<MountedNodeStore> nonDefaultStores = Lists.newArrayList();
+            List<MountedNodeStore> nonDefaultStores = new ArrayList<>();
             nonDefaultStores.add(new MountedNodeStore(this.mip.getMountByName(readOnlyMountName), readOnlyStore));
             this.store = new CompositeNodeStore(this.mip, globalStore, nonDefaultStores);
 
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/jcr/LuceneOakRepositoryStub.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/jcr/LuceneOakRepositoryStub.java
index 496fe07388..a6ce6288a5 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/jcr/LuceneOakRepositoryStub.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/jcr/LuceneOakRepositoryStub.java
@@ -16,7 +16,7 @@
  */
 package org.apache.jackrabbit.oak.jcr;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.JcrConstants.JCR_CONTENT;
 import static org.apache.jackrabbit.JcrConstants.JCR_PRIMARYTYPE;
 import static org.apache.jackrabbit.JcrConstants.NT_FILE;
@@ -64,7 +64,7 @@ public class LuceneOakRepositoryStub extends OakSegmentTarRepositoryStub {
 
     private static QueryIndex.NodeAggregator getNodeAggregator() {
         return new SimpleNodeAggregator()
-            .newRuleWithName(NT_FILE, newArrayList(JCR_CONTENT, JCR_CONTENT + "/*"));
+            .newRuleWithName(NT_FILE, NAL(JCR_CONTENT, JCR_CONTENT + "/*"));
     }
 
     private static class LuceneCompatModeInitializer extends LuceneInitializerHelper {
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/jcr/query/SpellcheckTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/jcr/query/SpellcheckTest.java
index 0d8ad326c1..149df0ae72 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/jcr/query/SpellcheckTest.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/jcr/query/SpellcheckTest.java
@@ -90,7 +90,7 @@ public class SpellcheckTest extends AbstractQueryTest {
     }
 
     static List<String> getResult(QueryResult result, String propertyName) throws RepositoryException {
-        List<String> results = Lists.newArrayList();
+        List<String> results = new ArrayList<>();
         RowIterator it = result.getRows();
         while (it.hasNext()) {
             Row row = it.nextRow();
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/jcr/query/SuggestTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/jcr/query/SuggestTest.java
index 892a75d673..33ff201b8f 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/jcr/query/SuggestTest.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/jcr/query/SuggestTest.java
@@ -129,7 +129,7 @@ public class SuggestTest extends AbstractQueryTest {
     }
 
     static List<String> getResult(QueryResult result, String propertyName) throws RepositoryException {
-        List<String> results = Lists.newArrayList();
+        List<String> results = new ArrayList<>();
         RowIterator it = result.getRows();
         while (it.hasNext()) {
             Row row = it.nextRow();
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/ActiveDeletedBlobCollectorMBeanImplTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/ActiveDeletedBlobCollectorMBeanImplTest.java
index b8d615651c..f30fb99954 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/ActiveDeletedBlobCollectorMBeanImplTest.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/ActiveDeletedBlobCollectorMBeanImplTest.java
@@ -73,7 +73,7 @@ import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicLong;
 import java.util.function.Supplier;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.guava.common.util.concurrent.MoreExecutors.newDirectExecutorService;
 import static org.apache.jackrabbit.oak.api.jmx.IndexStatsMBean.STATUS_DONE;
 import static org.apache.jackrabbit.oak.api.jmx.IndexStatsMBean.STATUS_RUNNING;
@@ -101,7 +101,7 @@ public class ActiveDeletedBlobCollectorMBeanImplTest {
 
     private NodeStore nodeStore;
 
-    private List<String> indexPaths = Lists.newArrayList();
+    private List<String> indexPaths = new ArrayList<>();
 
     private final Clock clock = new Clock.Virtual();
 
@@ -125,7 +125,7 @@ public class ActiveDeletedBlobCollectorMBeanImplTest {
 
         final AtomicLong returnExecCount = new AtomicLong(2L);
 
-        AsyncIndexInfoService asyncIndexInfoService = MockRegistrar.getAsyncIndexInfoService(newArrayList(
+        AsyncIndexInfoService asyncIndexInfoService = MockRegistrar.getAsyncIndexInfoService(NAL(
                 new IndexMBeanInfoSupplier("foo-async", statusSupplier, returnExecCount::get)
         ));
 
@@ -147,7 +147,7 @@ public class ActiveDeletedBlobCollectorMBeanImplTest {
 
         // running index with not stalled exec count doesn't wait
         statusSupplier.status = STATUS_RUNNING;
-        asyncIndexInfoService = MockRegistrar.getAsyncIndexInfoService(newArrayList(
+        asyncIndexInfoService = MockRegistrar.getAsyncIndexInfoService(NAL(
                 new IndexMBeanInfoSupplier("foo-async", statusSupplier, returnExecCount::incrementAndGet)
         ));
         bean = getTestBean(indexPathService, asyncIndexInfoService);
@@ -165,7 +165,7 @@ public class ActiveDeletedBlobCollectorMBeanImplTest {
         createFakeIndex(indexPath);
 
         IndexPathService indexPathService = MockRegistrar.getIndexPathsService(indexPaths);
-        AsyncIndexInfoService asyncIndexInfoService = MockRegistrar.getAsyncIndexInfoService(newArrayList(
+        AsyncIndexInfoService asyncIndexInfoService = MockRegistrar.getAsyncIndexInfoService(NAL(
                 new IndexMBeanInfoSupplier("foo-async", () -> STATUS_DONE, () -> 2L)
         ));
 
@@ -181,7 +181,7 @@ public class ActiveDeletedBlobCollectorMBeanImplTest {
     @Test
     public void pauseResumeSetsInMemFlag() {
         IndexPathService indexPathService = MockRegistrar.getIndexPathsService(indexPaths);
-        AsyncIndexInfoService asyncIndexInfoService = MockRegistrar.getAsyncIndexInfoService(newArrayList(
+        AsyncIndexInfoService asyncIndexInfoService = MockRegistrar.getAsyncIndexInfoService(NAL(
                 new IndexMBeanInfoSupplier("foo-async", () -> STATUS_DONE, () -> 2L)
         ));
 
@@ -210,7 +210,7 @@ public class ActiveDeletedBlobCollectorMBeanImplTest {
     @Test
     public void timedOutWhileWaitingForIndexerShouldAutoResume() {
         IndexPathService indexPathService = MockRegistrar.getIndexPathsService(indexPaths);
-        AsyncIndexInfoService asyncIndexInfoService = MockRegistrar.getAsyncIndexInfoService(newArrayList(
+        AsyncIndexInfoService asyncIndexInfoService = MockRegistrar.getAsyncIndexInfoService(NAL(
                 new IndexMBeanInfoSupplier("foo-async", () -> STATUS_RUNNING, () -> 2L)
         ));
 
@@ -225,7 +225,7 @@ public class ActiveDeletedBlobCollectorMBeanImplTest {
     @Test
     public void failureToFlagAllIndexFilesShouldAutoResume() {
         IndexPathService indexPathService = MockRegistrar.getIndexPathsService(indexPaths);
-        AsyncIndexInfoService asyncIndexInfoService = MockRegistrar.getAsyncIndexInfoService(newArrayList(
+        AsyncIndexInfoService asyncIndexInfoService = MockRegistrar.getAsyncIndexInfoService(NAL(
                 new IndexMBeanInfoSupplier("foo-async", () -> STATUS_DONE, () -> 2L)
         ));
 
@@ -260,7 +260,7 @@ public class ActiveDeletedBlobCollectorMBeanImplTest {
             assertTrue("Must wait for indexers before going to update index files", hadWaitedForIndex.get());
             return indexPaths;
         });
-        AsyncIndexInfoService asyncIndexInfoService = MockRegistrar.getAsyncIndexInfoService(newArrayList(
+        AsyncIndexInfoService asyncIndexInfoService = MockRegistrar.getAsyncIndexInfoService(NAL(
                 new IndexMBeanInfoSupplier("foo-async", () -> {
                     assertTrue("Must pause before waiting for indexers", isPaused.get());
                     hadWaitedForIndex.set(true);
@@ -306,7 +306,7 @@ public class ActiveDeletedBlobCollectorMBeanImplTest {
 
         // pause active deletion
         IndexPathService indexPathService = new IndexPathServiceImpl(dns1);
-        AsyncIndexInfoService asyncIndexInfoService = MockRegistrar.getAsyncIndexInfoService(newArrayList(
+        AsyncIndexInfoService asyncIndexInfoService = MockRegistrar.getAsyncIndexInfoService(NAL(
                 new IndexMBeanInfoSupplier("foo-async", () -> STATUS_DONE, () -> 2L)
         ));
         ActiveDeletedBlobCollectorMBeanImpl bean =
@@ -410,7 +410,7 @@ public class ActiveDeletedBlobCollectorMBeanImplTest {
 
             AsyncIndexInfoService service = mock(AsyncIndexInfoService.class);
 
-            List<String> asyncLanes = Lists.newArrayList();
+            List<String> asyncLanes = new ArrayList<>();
 
             for (IndexMBeanInfoSupplier info : infoSuppliers) {
                 String lane = info.getName();
@@ -490,7 +490,7 @@ public class ActiveDeletedBlobCollectorMBeanImplTest {
     }
 
     private static class DeletedFileTrackingADBC implements ActiveDeletedBlobCollector {
-        final List<String> deletedFiles = newArrayList();
+        final List<String> deletedFiles = new ArrayList<>();
         BlobDeletionCallback blobDeletionCallback = null;
 
         private final ActiveDeletedBlobCollector delegate;
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/AsyncIndexStatsUpdateCallbackTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/AsyncIndexStatsUpdateCallbackTest.java
index cceac98580..d9e0326811 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/AsyncIndexStatsUpdateCallbackTest.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/AsyncIndexStatsUpdateCallbackTest.java
@@ -43,7 +43,7 @@ import org.mockito.Mockito;
 import java.io.IOException;
 import java.util.List;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.oak.plugins.index.CompositeIndexEditorProvider.compose;
 import static org.hamcrest.CoreMatchers.containsString;
 import static org.junit.Assert.assertFalse;
@@ -89,7 +89,7 @@ public class AsyncIndexStatsUpdateCallbackTest {
                 null, Mounts.defaultMountInfoProvider(),
                 ActiveDeletedBlobCollectorFactory.NOOP, mBean, StatisticsProvider.NOOP);
 
-        asyncIndexUpdate = new AsyncIndexUpdate("async", nodeStore, compose(newArrayList(
+        asyncIndexUpdate = new AsyncIndexUpdate("async", nodeStore, compose(NAL(
                 luceneIndexEditorProvider,
                 new NodeCounterEditorProvider()
         )), StatisticsProvider.NOOP, false);
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/AsyncIndexUpdateCorruptMarkingTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/AsyncIndexUpdateCorruptMarkingTest.java
index 9afbeed51c..8d22123380 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/AsyncIndexUpdateCorruptMarkingTest.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/AsyncIndexUpdateCorruptMarkingTest.java
@@ -42,7 +42,7 @@ import org.junit.Test;
 import java.io.IOException;
 import java.util.concurrent.TimeUnit;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.oak.plugins.index.CompositeIndexEditorProvider.compose;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
@@ -77,7 +77,7 @@ public class AsyncIndexUpdateCorruptMarkingTest {
         LuceneIndexProvider provider = new LuceneIndexProvider();
         luceneIndexEditorProvider.setBlobStore(blobStore);
 
-        asyncIndexUpdate = new AsyncIndexUpdate("async", nodeStore, compose(newArrayList(
+        asyncIndexUpdate = new AsyncIndexUpdate("async", nodeStore, compose(NAL(
                 luceneIndexEditorProvider,
                 new NodeCounterEditorProvider()
         )));
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexAugmentorFactoryTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexAugmentorFactoryTest.java
index dad71798a2..631c3f3efe 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexAugmentorFactoryTest.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexAugmentorFactoryTest.java
@@ -179,7 +179,7 @@ public class IndexAugmentorFactoryTest {
         @NotNull
         @Override
         public Iterable<Field> getAugmentedFields(String path, NodeState document, NodeState indexDefinition) {
-            return Lists.newArrayList(id);
+            return List.of(id);
         }
 
         @NotNull
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexCopierTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexCopierTest.java
index 519746c1d6..dd4dc481ab 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexCopierTest.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexCopierTest.java
@@ -70,7 +70,7 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.guava.common.util.concurrent.MoreExecutors.newDirectExecutorService;
 import static org.apache.jackrabbit.oak.InitialContentHelper.INITIAL_CONTENT;
 import static org.apache.jackrabbit.oak.plugins.index.lucene.directory.CopyOnReadDirectory.DELETE_MARGIN_MILLIS_NAME;
@@ -150,7 +150,7 @@ public class IndexCopierTest {
 
     @Test
     public void basicTestWithPrefetch() throws Exception{
-        final List<String> syncedFiles = Lists.newArrayList();
+        final List<String> syncedFiles = new ArrayList<>();
         Directory baseDir = new RAMDirectory(){
             @Override
             public void sync(Collection<String> names) throws IOException {
@@ -335,7 +335,7 @@ public class IndexCopierTest {
         Directory baseDir = new RAMDirectory();
         LuceneIndexDefinition defn = new LuceneIndexDefinition(root, builder.getNodeState(), "/foo");
 
-        final List<ListenableFuture<?>> submittedTasks = Lists.newArrayList();
+        final List<ListenableFuture<?>> submittedTasks = new ArrayList<>();
         ExecutorService executor = new ForwardingListeningExecutorService() {
             @Override
             protected ListeningExecutorService delegate() {
@@ -1207,7 +1207,7 @@ public class IndexCopierTest {
     }
 
     private class FileTrackingDirectory extends DelayCopyingSimpleFSDirectory {
-        final List<String> openedFiles = newArrayList();
+        final List<String> openedFiles = new ArrayList<>();
 
         public FileTrackingDirectory() throws IOException {
         }
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexPlannerTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexPlannerTest.java
index 27be17d03b..bea73fc3c5 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexPlannerTest.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexPlannerTest.java
@@ -1405,7 +1405,7 @@ public class IndexPlannerTest {
         ;
         NodeState defn = idxBuilder.build();
 
-        List<Document> docs = Lists.newArrayList();
+        List<Document> docs = new ArrayList<>();
         Document doc;
         for (int i = 0; i < 60; i++) {
             doc = new Document();
@@ -1477,7 +1477,7 @@ public class IndexPlannerTest {
         ;
         NodeState defn = idxBuilder.build();
 
-        List<Document> docs = Lists.newArrayList();
+        List<Document> docs = new ArrayList<>();
         Document doc;
         for (int i = 0; i < 60; i++) {
             doc = new Document();
@@ -1522,7 +1522,7 @@ public class IndexPlannerTest {
         ;
         NodeState defn = idxBuilder.build();
 
-        List<Document> docs = Lists.newArrayList();
+        List<Document> docs = new ArrayList<>();
         Document doc;
         for (int i = 0; i < 60; i++) {
             doc = new Document();
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexStatisticsTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexStatisticsTest.java
index 635ed288ca..a9468a4f17 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexStatisticsTest.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexStatisticsTest.java
@@ -149,7 +149,7 @@ public class IndexStatisticsTest {
     }
 
     private static Directory createSampleDirectory(long numOfDocs) throws IOException {
-        return createSampleDirectory(numOfDocs, Lists.newArrayList());
+        return createSampleDirectory(numOfDocs, List.of());
     }
 
     private static Directory createSampleDirectory(Document moreDoc) throws IOException {
@@ -157,7 +157,7 @@ public class IndexStatisticsTest {
     }
 
     private static Directory createSampleDirectory(long numOfDocs, Iterable<Document> moreDocs) throws IOException {
-        List<Document> docs = Lists.newArrayList(moreDocs);
+        List<Document> docs = List.of(moreDocs);
         for (int i = 0; i < numOfDocs; i++) {
             Document doc = new Document();
             doc.add(new StringField("foo", "bar" + i, Field.Store.NO));
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexlaneRepositoryTraversalTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexlaneRepositoryTraversalTest.java
index 18f4c4db3a..dd02cd4f96 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexlaneRepositoryTraversalTest.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexlaneRepositoryTraversalTest.java
@@ -53,7 +53,7 @@ import java.util.List;
 import java.util.Properties;
 import java.util.concurrent.TimeUnit;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.oak.plugins.index.CompositeIndexEditorProvider.compose;
 import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.INDEX_DEFINITIONS_NAME;
 import static org.junit.Assert.assertFalse;
@@ -104,11 +104,11 @@ public class IndexlaneRepositoryTraversalTest {
         LuceneIndexProvider provider = new LuceneIndexProvider();
         luceneIndexEditorProvider.setBlobStore(blobStore);
 
-        asyncIndexUpdate = new AsyncIndexUpdate("async", nodeStore, compose(newArrayList(
+        asyncIndexUpdate = new AsyncIndexUpdate("async", nodeStore, compose(NAL(
                 luceneIndexEditorProvider,
                 new NodeCounterEditorProvider()
         )));
-        asyncIndexUpdateFulltext = new AsyncIndexUpdate("fulltext-async", nodeStore, compose(newArrayList(
+        asyncIndexUpdateFulltext = new AsyncIndexUpdate("fulltext-async", nodeStore, compose(NAL(
                 luceneIndexEditorProvider,
                 new NodeCounterEditorProvider()
         )));
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/InvalidIndexTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/InvalidIndexTest.java
index a0acd35897..81002a2565 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/InvalidIndexTest.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/InvalidIndexTest.java
@@ -45,7 +45,7 @@ import org.junit.Test;
 import java.util.List;
 import java.util.concurrent.TimeUnit;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.oak.plugins.index.CompositeIndexEditorProvider.compose;
 import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.INDEX_DEFINITIONS_NAME;
 import static org.junit.Assert.assertTrue;
@@ -97,7 +97,7 @@ public class InvalidIndexTest {
         LuceneIndexProvider provider = new LuceneIndexProvider();
         luceneIndexEditorProvider.setBlobStore(blobStore);
 
-        asyncIndexUpdate = new AsyncIndexUpdate("async", nodeStore, compose(newArrayList(
+        asyncIndexUpdate = new AsyncIndexUpdate("async", nodeStore, compose(NAL(
                 luceneIndexEditorProvider,
                 new NodeCounterEditorProvider()
         )));
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexAggregationTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexAggregationTest.java
index 05e2fff64b..455230c26c 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexAggregationTest.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexAggregationTest.java
@@ -34,7 +34,7 @@ import java.io.File;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.JcrConstants.JCR_CONTENT;
 import static org.apache.jackrabbit.JcrConstants.NT_FILE;
 import static org.apache.jackrabbit.JcrConstants.NT_FOLDER;
@@ -69,8 +69,8 @@ public class LuceneIndexAggregationTest extends IndexAggregationCommonTest {
      */
     private static QueryIndex.NodeAggregator getNodeAggregator() {
         return new SimpleNodeAggregator()
-                .newRuleWithName(NT_FILE, newArrayList(JCR_CONTENT, JCR_CONTENT + "/*"))
-                .newRuleWithName(NT_FOLDER, newArrayList("myFile", "subfolder/subsubfolder/file"));
+                .newRuleWithName(NT_FILE, NAL(JCR_CONTENT, JCR_CONTENT + "/*"))
+                .newRuleWithName(NT_FOLDER, NAL("myFile", "subfolder/subsubfolder/file"));
     }
 
 }
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexAugmentTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexAugmentTest.java
index 6a58164304..541653264d 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexAugmentTest.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexAugmentTest.java
@@ -190,7 +190,7 @@ public class LuceneIndexAugmentTest extends AbstractQueryTest {
                 assertEquals(TestUtil.NT_TEST, document.getName(JcrConstants.JCR_PRIMARYTYPE));
                 assertEquals(IndexConstants.INDEX_DEFINITIONS_NODE_TYPE,
                     indexDefinition.getName(JcrConstants.JCR_PRIMARYTYPE));
-                return Lists.newArrayList(new StringField("barbar", "1", Field.Store.NO));
+                return List.of(new StringField("barbar", "1", Field.Store.NO));
             }
 
             @NotNull
@@ -309,7 +309,7 @@ public class LuceneIndexAugmentTest extends AbstractQueryTest {
             @NotNull
             @Override
             public Iterable<Field> getAugmentedFields(String path, NodeState document, NodeState indexDefinition) {
-                List<Field> fields = Lists.newArrayList();
+                List<Field> fields = new ArrayList<>();
                 fields.add(new StringField("bar", "baz", Field.Store.NO));
                 return fields;
             }
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexPlannerCommonTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexPlannerCommonTest.java
index c82852dcc9..4a1ea9db01 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexPlannerCommonTest.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexPlannerCommonTest.java
@@ -154,7 +154,7 @@ public class LuceneIndexPlannerCommonTest extends IndexPlannerCommonTest {
         ;
         NodeState defn = idxBuilder.build();
 
-        List<Document> docs = Lists.newArrayList();
+        List<Document> docs = new ArrayList<>();
         Document doc;
         for (int i = 0; i < 60; i++) {
             doc = new Document();
@@ -226,7 +226,7 @@ public class LuceneIndexPlannerCommonTest extends IndexPlannerCommonTest {
         ;
         NodeState defn = idxBuilder.build();
 
-        List<Document> docs = Lists.newArrayList();
+        List<Document> docs = new ArrayList<>();
         Document doc;
         for (int i = 0; i < 60; i++) {
             doc = new Document();
@@ -271,7 +271,7 @@ public class LuceneIndexPlannerCommonTest extends IndexPlannerCommonTest {
         ;
         NodeState defn = idxBuilder.build();
 
-        List<Document> docs = Lists.newArrayList();
+        List<Document> docs = new ArrayList<>();
         Document doc;
         for (int i = 0; i < 60; i++) {
             doc = new Document();
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexTest.java
index 508909a4a2..b107102e68 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexTest.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexTest.java
@@ -18,7 +18,7 @@ package org.apache.jackrabbit.oak.plugins.index.lucene;
 
 import static org.apache.jackrabbit.guava.common.collect.ImmutableList.copyOf;
 import static org.apache.jackrabbit.guava.common.collect.Iterators.transform;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.guava.common.util.concurrent.MoreExecutors.newDirectExecutorService;
 import static java.util.Arrays.asList;
 import static javax.jcr.PropertyType.TYPENAME_STRING;
@@ -349,7 +349,7 @@ public class LuceneIndexTest {
         // would have already picked up 50 docs which would not be considered
         //deleted by QE for the revision at which query was triggered
         //So just checking for >
-        List<String> resultPaths = Lists.newArrayList();
+        List<String> resultPaths = new ArrayList<>();
         while(cursor.hasNext()){
             resultPaths.add(cursor.next().getPath());
         }
@@ -737,7 +737,7 @@ public class LuceneIndexTest {
         assertQuery(tracker, indexed, "foo3", "bar3");
         assertEquals(0, copier.getInvalidFileCount());
         List<LocalIndexDir> idxDirs = copier.getIndexRootDirectory().getLocalIndexes("/oak:index/lucene");
-        List<LocalIndexDir> nonEmptyDirs = Lists.newArrayList();
+        List<LocalIndexDir> nonEmptyDirs = new ArrayList<>();
         for (LocalIndexDir dir : idxDirs){
             if (!dir.isEmpty()){
                 nonEmptyDirs.add(dir);
@@ -953,7 +953,7 @@ public class LuceneIndexTest {
         List<IndexPlan> plans = queryIndex.getPlans(filter, null, indexed);
         Cursor cursor = queryIndex.query(plans.get(0), indexed);
 
-        List<String> paths = newArrayList();
+        List<String> paths = new ArrayList<>();
         while (cursor.hasNext()) {
             paths.add(cursor.next().getPath());
         }
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndexTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndexTest.java
index 0f73fe7b68..09ec2063a9 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndexTest.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndexTest.java
@@ -105,7 +105,7 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static java.util.Arrays.asList;
 import static org.apache.jackrabbit.JcrConstants.JCR_CONTENT;
 import static org.apache.jackrabbit.JcrConstants.JCR_DATA;
@@ -300,7 +300,7 @@ public class LucenePropertyIndexTest extends AbstractQueryTest {
         Tree test = root.getTree("/").addChild("test");
         test.setProperty("jcr:primaryType", "nt:unstructured", Type.NAME);
 
-        List<String> paths = Lists.newArrayList();
+        List<String> paths = new ArrayList<>();
         for (int idx = 0; idx < 15; idx++) {
             Tree a = test.addChild("n"+idx);
             a.setProperty("jcr:primaryType", "nt:unstructured", Type.NAME);
@@ -1183,9 +1183,9 @@ public class LucenePropertyIndexTest extends AbstractQueryTest {
         root.commit();
 
         assertOrderedQuery("select [jcr:path] from [nt:base] where [bar] = 'baz' order by [foo]", Lists
-            .newArrayList(Iterables.concat(Lists.newArrayList("/test/a"), getSortedPaths(tuples, OrderDirection.ASC))));
+            .NAL(Iterables.concat(List.of("/test/a"), getSortedPaths(tuples, OrderDirection.ASC))));
         assertOrderedQuery("select [jcr:path] from [nt:base] where [bar] = 'baz' order by [foo] DESC", Lists
-            .newArrayList(Iterables.concat(getSortedPaths(tuples, OrderDirection.DESC), Lists.newArrayList("/test/a")
+            .NAL(Iterables.concat(getSortedPaths(tuples, OrderDirection.DESC), List.of("/test/a")
             )));
     }
 
@@ -1274,13 +1274,13 @@ public class LucenePropertyIndexTest extends AbstractQueryTest {
 
         // Add the path of property added as timestamp string in the sorted list
         assertOrderedQuery("select [jcr:path] from [nt:base] where [bar] = 'baz' order by [foo]",
-                Lists.newArrayList(Iterables.concat(Lists.newArrayList("/test/n0"),
+                List.of(Iterables.concat(List.of("/test/n0"),
                         getSortedPaths(tuples, OrderDirection.ASC))));
         // Append the path of property added as timestamp string to the sorted list
         assertOrderedQuery(
                 "select [jcr:path] from [nt:base] where [bar] = 'baz' order by [foo] DESC", Lists
-                        .newArrayList(Iterables.concat(getSortedPaths(tuples, OrderDirection.DESC),
-                                Lists.newArrayList("/test/n0"))));
+                        .NAL(Iterables.concat(getSortedPaths(tuples, OrderDirection.DESC),
+                                List.of("/test/n0"))));
     }
 
     @Test
@@ -1508,7 +1508,7 @@ public class LucenePropertyIndexTest extends AbstractQueryTest {
     }
 
     private String measureWithLimit(String query, String lang, int limit) throws ParseException {
-        List<? extends ResultRow> result = Lists.newArrayList(
+        List<? extends ResultRow> result = List.of(
             qe.executeQuery(query, lang, limit, 0, Maps.<String, PropertyValue>newHashMap(),
                 NO_MAPPINGS).getRows());
 
@@ -1804,7 +1804,7 @@ public class LucenePropertyIndexTest extends AbstractQueryTest {
         Tree test = root.getTree("/").addChild("test");
         root.commit();
 
-        List<Integer> nodes = Lists.newArrayList();
+        List<Integer> nodes = new ArrayList<>();
         Random r = new Random();
         int seed = -2;
         for (int i = 0; i < 1000; i++) {
@@ -1894,8 +1894,8 @@ public class LucenePropertyIndexTest extends AbstractQueryTest {
         prop1.setProperty(PROP_PROPERTY_INDEX, true);
 
         newNodeAggregator(idx)
-                .newRuleWithName(NT_FILE, newArrayList(JCR_CONTENT, JCR_CONTENT + "/*"))
-                .newRuleWithName(TestUtil.NT_TEST, newArrayList("/*"));
+                .newRuleWithName(NT_FILE, NAL(JCR_CONTENT, JCR_CONTENT + "/*"))
+                .newRuleWithName(TestUtil.NT_TEST, NAL("/*"));
         root.commit();
 
         Tree test = root.getTree("/").addChild("test");
@@ -1931,8 +1931,8 @@ public class LucenePropertyIndexTest extends AbstractQueryTest {
         prop1.setProperty(PROP_PROPERTY_INDEX, true);
 
         newNodeAggregator(idx)
-                .newRuleWithName(NT_FILE, newArrayList(JCR_CONTENT, JCR_CONTENT + "/*"))
-                .newRuleWithName(TestUtil.NT_TEST, newArrayList("/*"));
+                .newRuleWithName(NT_FILE, NAL(JCR_CONTENT, JCR_CONTENT + "/*"))
+                .newRuleWithName(TestUtil.NT_TEST, NAL("/*"));
         root.commit();
 
         Tree test = root.getTree("/").addChild("test");
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneTestRepositoryBuilder.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneTestRepositoryBuilder.java
index 12ea50a065..fc82a75c1b 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneTestRepositoryBuilder.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneTestRepositoryBuilder.java
@@ -32,7 +32,7 @@ import org.junit.rules.TemporaryFolder;
 import java.io.IOException;
 import java.util.concurrent.ExecutorService;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.oak.plugins.index.CompositeIndexEditorProvider.compose;
 
 public class LuceneTestRepositoryBuilder extends TestRepositoryBuilder {
@@ -49,7 +49,7 @@ public class LuceneTestRepositoryBuilder extends TestRepositoryBuilder {
         }
         this.editorProvider = new LuceneIndexEditorProvider(copier, new ExtractedTextCache(10 * FileUtils.ONE_MB, 100));
         this.indexProvider = new LuceneIndexProvider(copier);
-        this.asyncIndexUpdate = new AsyncIndexUpdate("async", nodeStore, compose(newArrayList(
+        this.asyncIndexUpdate = new AsyncIndexUpdate("async", nodeStore, compose(NAL(
                 editorProvider,
                 new NodeCounterEditorProvider()
         )));
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ActiveDeletedBlobCollectionIT.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ActiveDeletedBlobCollectionIT.java
index ce7043907e..c6d388096f 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ActiveDeletedBlobCollectionIT.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ActiveDeletedBlobCollectionIT.java
@@ -90,7 +90,7 @@ public class ActiveDeletedBlobCollectionIT extends AbstractActiveDeletedBlobTest
 
     @Parameterized.Parameters(name="{0}")
     public static Collection<Object[]> fixtures() {
-        List<Object[]> result = Lists.newArrayList();
+        List<Object[]> result = new ArrayList<>();
         result.add(new Object[]{DataStoreType.WITHOUT_FDS});
         result.add(new Object[]{DataStoreType.WITH_FDS});
         return result;
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ActiveDeletedBlobCollectorTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ActiveDeletedBlobCollectorTest.java
index 9d5f773d2e..58f655e92f 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ActiveDeletedBlobCollectorTest.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ActiveDeletedBlobCollectorTest.java
@@ -236,13 +236,13 @@ public class ActiveDeletedBlobCollectorTest {
         // So, we'd push "MARKER*" blob ids and purge until some marker blob
         // gets purged. BUT, we'd time-out this activity in 3 seconds
         long until = Clock.SIMPLE.getTime() + TimeUnit.SECONDS.toMillis(3);
-        List<String> markerChunks = Lists.newArrayList();
+        List<String> markerChunks = new ArrayList<>();
         int i = 0;
         while (Clock.SIMPLE.getTime() < until) {
             // Push commit with a marker blob-id and wait for it to be purged
             BlobDeletionCallback bdc = adbc.getBlobDeletionCallback();
             String markerBlobId = "MARKER-" + (i++);
-            bdc.deleted(markerBlobId, Lists.newArrayList(markerBlobId));
+            bdc.deleted(markerBlobId, List.of(markerBlobId));
             bdc.commitProgress(COMMIT_SUCCEDED);
 
             Iterators.addAll(markerChunks, blobStore.resolveChunks(markerBlobId));
@@ -377,7 +377,7 @@ public class ActiveDeletedBlobCollectorTest {
         bdc.deleted("blobId3", Collections.singleton("/c"));
         bdc.commitProgress(COMMIT_SUCCEDED);
 
-        List<String> externallyDeletedChunks = Lists.newArrayList(blobStore.resolveChunks("blobId2"));
+        List<String> externallyDeletedChunks = List.of(blobStore.resolveChunks("blobId2"));
         blobStore.countDeleteChunks(externallyDeletedChunks, 0);
 
         warnLogCustomizer.starting();
@@ -395,7 +395,7 @@ public class ActiveDeletedBlobCollectorTest {
         bdc.commitProgress(COMMIT_SUCCEDED);
 
         blobStore.resetLists();
-        blobStore.failWithDSEForChunkIds.addAll(Lists.newArrayList(blobStore.resolveChunks("blobId4")));
+        blobStore.failWithDSEForChunkIds.addAll(List.of(blobStore.resolveChunks("blobId4")));
 
         warnLogCustomizer.starting();
         adbc.purgeBlobsDeleted(clock.getTimeIncreasing(), blobStore);
@@ -411,7 +411,7 @@ public class ActiveDeletedBlobCollectorTest {
         bdc.commitProgress(COMMIT_SUCCEDED);
 
         blobStore.resetLists();
-        blobStore.failWithExceptionForChunkIds.addAll(Lists.newArrayList(blobStore.resolveChunks("blobId6")));
+        blobStore.failWithExceptionForChunkIds.addAll(List.of(blobStore.resolveChunks("blobId6")));
 
         warnLogCustomizer.starting();
         adbc.purgeBlobsDeleted(clock.getTimeIncreasing(), blobStore);
@@ -435,7 +435,7 @@ public class ActiveDeletedBlobCollectorTest {
         bdc.deleted("blobId3", Collections.singleton("/c"));
         bdc.commitProgress(COMMIT_SUCCEDED);
 
-        List<String> externallyDeletedChunks = Lists.newArrayList(blobStore.resolveChunks("blobId2"));
+        List<String> externallyDeletedChunks = List.of(blobStore.resolveChunks("blobId2"));
         blobStore.countDeleteChunks(externallyDeletedChunks, 0);
 
         warnLogCustomizer.starting();
@@ -453,7 +453,7 @@ public class ActiveDeletedBlobCollectorTest {
         bdc.commitProgress(COMMIT_SUCCEDED);
 
         blobStore.resetLists();
-        blobStore.failWithDSEForChunkIds.addAll(Lists.newArrayList(blobStore.resolveChunks("blobId4")));
+        blobStore.failWithDSEForChunkIds.addAll(List.of(blobStore.resolveChunks("blobId4")));
 
         warnLogCustomizer.starting();
         adbc.purgeBlobsDeleted(clock.getTimeIncreasing(), blobStore);
@@ -498,7 +498,7 @@ public class ActiveDeletedBlobCollectorTest {
     private void verifyBlobsDeleted(String ... blobIds) throws IOException {
         List<String> chunkIds = new ArrayList<>();
         for (String blobId : blobIds) {
-            chunkIds.addAll(Lists.newArrayList(blobStore.resolveChunks(blobId)));
+            chunkIds.addAll(List.of(blobStore.resolveChunks(blobId)));
         }
 
         assertThat(blobStore.deletedChunkIds, containsInAnyOrder(chunkIds.toArray()));
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ActiveDeletedBlobSyncTrackerTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ActiveDeletedBlobSyncTrackerTest.java
index 183ca263b0..5574f469ea 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ActiveDeletedBlobSyncTrackerTest.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ActiveDeletedBlobSyncTrackerTest.java
@@ -51,7 +51,7 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.oak.spi.cluster.ClusterRepositoryInfo.getOrCreateId;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
@@ -142,9 +142,9 @@ public class ActiveDeletedBlobSyncTrackerTest extends AbstractActiveDeletedBlobT
     private static void assertTrackedDeleted(Iterator<String> afterDeletions,
         GarbageCollectableBlobStore blobStore) throws IOException {
 
-        List<String> afterDeletionIds = newArrayList(afterDeletions);
+        List<String> afterDeletionIds = NAL(afterDeletions);
         // get the currently tracked ones
-        ArrayList<String> trackedIds = newArrayList(((BlobTrackingStore) blobStore).getTracker().get());
+        ArrayList<String> trackedIds = NAL(((BlobTrackingStore) blobStore).getTracker().get());
         assertEquals("Tracked ids length different from current blob list",
             trackedIds.size(), afterDeletionIds.size());
         assertTrue("Tracked ids different from current blob list",
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ChunkedOakDirectoryTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ChunkedOakDirectoryTest.java
index eaf31d22c2..9aa39bf61b 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ChunkedOakDirectoryTest.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ChunkedOakDirectoryTest.java
@@ -42,7 +42,7 @@ import java.io.InputStream;
 import java.util.Arrays;
 import java.util.List;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.oak.api.Type.BINARIES;
 import static org.apache.jackrabbit.oak.plugins.index.lucene.directory.OakDirectory.UNIQUE_KEY_SIZE;
 import static org.hamcrest.CoreMatchers.containsString;
@@ -94,7 +94,7 @@ public class ChunkedOakDirectoryTest extends OakDirectoryTestBase {
 
     @Override
     void assertBlobSizeInWrite(PropertyState jcrData, int blobSize, int fileSize) {
-        List<Blob> blobs = newArrayList(jcrData.getValue(BINARIES));
+        List<Blob> blobs = NAL(jcrData.getValue(BINARIES));
         assertEquals(blobSize + UNIQUE_KEY_SIZE, blobs.get(0).length());
     }
 
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ConcurrentCopyOnReadDirectoryTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ConcurrentCopyOnReadDirectoryTest.java
index d54d8d5774..b524b38013 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ConcurrentCopyOnReadDirectoryTest.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/ConcurrentCopyOnReadDirectoryTest.java
@@ -68,8 +68,8 @@ public class ConcurrentCopyOnReadDirectoryTest {
     private IndexCopier copier;
 
     private Directory firstCoR = null;
-    private List<Future<String>> leechingCoRFutures = Lists.newArrayList();
-    private List<Directory> leechingCoRs = Collections.synchronizedList(Lists.newArrayList());
+    private List<Future<String>> leechingCoRFutures = new ArrayList<>();
+    private List<Directory> leechingCoRs = Collections.synchronizedList(List.of());
 
     private CountDownLatch firstCoRBlocker;
     private Future<String> firstCoRFutre;
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexConsistencyCheckerTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexConsistencyCheckerTest.java
index 55385787d9..bfb5bc70c9 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexConsistencyCheckerTest.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexConsistencyCheckerTest.java
@@ -80,7 +80,7 @@ public class IndexConsistencyCheckerTest {
 
         idx.setProperty("foo", failingBlob);
         idx.child(":index").setProperty("foo", failingBlob);
-        idx.child("b").setProperty("foo", Lists.newArrayList(failingBlob, failingBlob), Type.BINARIES);
+        idx.child("b").setProperty("foo", List.of(failingBlob, failingBlob), Type.BINARIES);
 
         NodeBuilder builder = EMPTY_NODE.builder();
         builder.setChildNode("a", idx.getNodeState());
@@ -172,7 +172,7 @@ public class IndexConsistencyCheckerTest {
         NodeBuilder builder = rootState.builder();
 
         NodeBuilder file = idx.getChildNode(":data").getChildNode("_0.cfe");
-        List<Blob> blobs = Lists.newArrayList(file.getProperty("jcr:data").getValue(Type.BINARIES));
+        List<Blob> blobs = List.of(file.getProperty("jcr:data").getValue(Type.BINARIES));
 
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
         IOUtils.copy(blobs.get(0).getNewStream(), baos);
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/LocalIndexDirTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/LocalIndexDirTest.java
index 87d03b7164..41a5e2cff7 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/LocalIndexDirTest.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/LocalIndexDirTest.java
@@ -68,7 +68,7 @@ public class LocalIndexDirTest {
         LocalIndexDir dir2 = new LocalIndexDir(createDirWithIndexMetaFile(new IndexMeta("/a/b/c", 200)));
         LocalIndexDir dir3 = new LocalIndexDir(createDirWithIndexMetaFile(new IndexMeta("/a", 300)));
 
-        List<LocalIndexDir> dirs = Lists.newArrayList();
+        List<LocalIndexDir> dirs = new ArrayList<>();
         dirs.add(dir2);
         dirs.add(dir);
         dirs.add(dir3);
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/OakStreamingIndexFileTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/OakStreamingIndexFileTest.java
index 102a2f0570..6e74add52f 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/OakStreamingIndexFileTest.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/OakStreamingIndexFileTest.java
@@ -74,7 +74,7 @@ public class OakStreamingIndexFileTest {
 
     @Parameterized.Parameters(name="{0}, {1}")
     public static Collection<Object[]> fixtures() throws Exception {
-        List<Object[]> modes = Lists.newArrayList();
+        List<Object[]> modes = new ArrayList<>();
         modes.add(new Object[]{COPY_BYTES, BYTE_WISE_READ});
         modes.add(new Object[]{COPY_BYTES, BATCH_READ});
         modes.add(new Object[]{WRITE_FILE, BYTE_WISE_READ});
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/HybridIndexClusterIT.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/HybridIndexClusterIT.java
index 328e30ca18..860abed5e3 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/HybridIndexClusterIT.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/HybridIndexClusterIT.java
@@ -206,7 +206,7 @@ public class HybridIndexClusterIT extends AbstractClusterTest {
         Query q = qm.createQuery("select * from [nt:base] where [" + indexedPropName + "] = $value", Query.JCR_SQL2);
         q.bindValue("value", session.getValueFactory().createValue(value));
         QueryResult result = q.execute();
-        List<String> paths = Lists.newArrayList();
+        List<String> paths = new ArrayList<>();
         for (Row r : JcrUtils.getRows(result)){
             paths.add(r.getPath());
         }
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LocalIndexWriterFactoryTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LocalIndexWriterFactoryTest.java
index 2a02064f2c..3ab7c2dde3 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LocalIndexWriterFactoryTest.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LocalIndexWriterFactoryTest.java
@@ -204,7 +204,7 @@ public class LocalIndexWriterFactoryTest {
     }
 
     private static List<String> getIndexedDocList(LuceneDocumentHolder holder, String indexPath){
-        List<String> paths = Lists.newArrayList();
+        List<String> paths = new ArrayList<>();
         for (LuceneDocInfo doc : holder.getAllLuceneDocInfo()){
             if (doc.getIndexPath().equals(indexPath)){
                 paths.add(doc.getDocPath());
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/invalidData/InvalidIndexDefinitionTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/invalidData/InvalidIndexDefinitionTest.java
index 073fedd992..e7aee269fa 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/invalidData/InvalidIndexDefinitionTest.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/invalidData/InvalidIndexDefinitionTest.java
@@ -83,7 +83,7 @@ public class InvalidIndexDefinitionTest extends AbstractQueryTest {
         root.commit();
         String query = "select [jcr:path] from [nt:base] where isdescendantnode('/tmp') and upper([test]) = 'HELLO'";
         assertThat(explain(query), containsString("lucene:test"));
-        assertQuery(query, Lists.newArrayList("/tmp/testNode"));
+        assertQuery(query, List.of("/tmp/testNode"));
     }
     
     @Test(expected = IllegalArgumentException.class)
@@ -138,7 +138,7 @@ public class InvalidIndexDefinitionTest extends AbstractQueryTest {
         root.commit();
         String query = "select [jcr:path] from [nt:base] where isdescendantnode('/tmp') and upper([test]) = 'HELLO'";
         assertThat(explain(query), containsString("lucene:test"));
-        assertQuery(query, Lists.newArrayList("/tmp/testNode"));
+        assertQuery(query, List.of("/tmp/testNode"));
     }    
 
     @Test(expected = IllegalArgumentException.class)
@@ -157,7 +157,7 @@ public class InvalidIndexDefinitionTest extends AbstractQueryTest {
         root.commit();
         String query = "select [jcr:path] from [nt:base] where isdescendantnode('/tmp') and upper([test]) = 'HELLO'";
         assertThat(explain(query), containsString("lucene:test"));
-        assertQuery(query, Lists.newArrayList("/tmp/testNode"));
+        assertQuery(query, List.of("/tmp/testNode"));
     }
 
     @Test
@@ -168,8 +168,8 @@ public class InvalidIndexDefinitionTest extends AbstractQueryTest {
         // java.lang.IllegalStateException: No valid include provided. Includes [/tmp], Excludes [/tmp]
         LogCustomizer customLogs = LogCustomizer.forLogger(IndexUpdate.class.getName()).enable(Level.ERROR).create();
         Tree def = createIndexNodeAndData();
-        def.setProperty(PathFilter.PROP_INCLUDED_PATHS, Lists.newArrayList("/tmp/testNode"), Type.STRINGS);
-        def.setProperty(PathFilter.PROP_EXCLUDED_PATHS, Lists.newArrayList("/tmp"), Type.STRINGS);
+        def.setProperty(PathFilter.PROP_INCLUDED_PATHS, List.of("/tmp/testNode"), Type.STRINGS);
+        def.setProperty(PathFilter.PROP_EXCLUDED_PATHS, List.of("/tmp"), Type.STRINGS);
         try {
             customLogs.starting();
             String expectedLogMessage = "Unable to get Index Editor for index at /oak:index/test . Please correct the index definition and reindex after correction. Additional Info : java.lang.IllegalStateException: No valid include provided. Includes [/tmp/testNode], Excludes [/tmp]";
@@ -180,7 +180,7 @@ public class InvalidIndexDefinitionTest extends AbstractQueryTest {
         }
         String query = "select [jcr:path] from [nt:base] where isdescendantnode('/tmp') and upper([test]) = 'HELLO'";
         assertThat(explain(query), containsString("traverse"));
-        assertQuery(query, Lists.newArrayList("/tmp/testNode"));
+        assertQuery(query, List.of("/tmp/testNode"));
     }
     
     @Test
@@ -195,7 +195,7 @@ public class InvalidIndexDefinitionTest extends AbstractQueryTest {
         root.commit();
         String query = "select [jcr:path] from [nt:base] where isdescendantnode('/tmp') and upper([test]) = 'HELLO'";
         assertThat(explain(query), containsString("lucene:test"));
-        assertQuery(query, Lists.newArrayList("/tmp/testNode"));
+        assertQuery(query, List.of("/tmp/testNode"));
     }    
     
     @Test
@@ -213,7 +213,7 @@ public class InvalidIndexDefinitionTest extends AbstractQueryTest {
         root.commit();
         String query = "select [jcr:path] from [nt:base] where isdescendantnode('/tmp') and upper([./test]) = 'HELLO'";
         assertThat(explain(query), containsString("traverse"));
-        assertQuery(query, Lists.newArrayList("/tmp/testNode"));
+        assertQuery(query, List.of("/tmp/testNode"));
     }    
     
     Tree createIndexNodeAndData() throws CommitFailedException {
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/util/TapeSamplingTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/util/TapeSamplingTest.java
index 86326449c5..5d13c1df8e 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/util/TapeSamplingTest.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/util/TapeSamplingTest.java
@@ -26,7 +26,7 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Random;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
@@ -46,7 +46,7 @@ public class TapeSamplingTest {
         List<Integer> input = range(start, end);
         TapeSampling<Integer> res = new TapeSampling<>(r, input.iterator(), input.size(), k);
 
-        List<Integer> samples = newArrayList(res.getSamples());
+        List<Integer> samples = NAL(res.getSamples());
         List<Integer> expected = range(end - k + 1, end);
 
         assertEquals(expected, samples);
@@ -67,7 +67,7 @@ public class TapeSamplingTest {
         List<Integer> input = range(start, end);
         TapeSampling<Integer> res = new TapeSampling<>(r, input.iterator(), input.size(), k);
 
-        List<Integer> samples = newArrayList(res.getSamples());
+        List<Integer> samples = NAL(res.getSamples());
         List<Integer> expected = range(start, start + k - 1);
 
         assertEquals(expected, samples);
@@ -83,7 +83,7 @@ public class TapeSamplingTest {
         List<Integer> input = range(start, end);
         TapeSampling<Integer> res = new TapeSampling<>(r, input.iterator(), input.size(), k);
 
-        List<Integer> samples = newArrayList(res.getSamples());
+        List<Integer> samples = NAL(res.getSamples());
         List<Integer> expected = input;
 
         assertEquals(expected, samples);
@@ -136,6 +136,6 @@ public class TapeSamplingTest {
             }
         };
 
-        return newArrayList(iter);
+        return NAL(iter);
     }
 }
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/writer/MultiplexingIndexWriterTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/writer/MultiplexingIndexWriterTest.java
index 35eb46777d..bba7c4c43f 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/writer/MultiplexingIndexWriterTest.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/writer/MultiplexingIndexWriterTest.java
@@ -263,7 +263,7 @@ public class MultiplexingIndexWriterTest {
     }
 
     private List<String> getIndexDirNodes(){
-        List<String> names = Lists.newArrayList();
+        List<String> names = new ArrayList<>();
         for (String name : builder.getChildNodeNames()){
             if (MultiplexersLucene.isIndexDirName(name)){
                 names.add(name);
diff --git a/oak-pojosr/src/main/java/org/apache/jackrabbit/oak/run/osgi/OakOSGiRepositoryFactory.java b/oak-pojosr/src/main/java/org/apache/jackrabbit/oak/run/osgi/OakOSGiRepositoryFactory.java
index cffb3f8f19..702442a33b 100644
--- a/oak-pojosr/src/main/java/org/apache/jackrabbit/oak/run/osgi/OakOSGiRepositoryFactory.java
+++ b/oak-pojosr/src/main/java/org/apache/jackrabbit/oak/run/osgi/OakOSGiRepositoryFactory.java
@@ -348,7 +348,7 @@ public class OakOSGiRepositoryFactory implements RepositoryFactory {
                 bundleFilter = REPOSITORY_BUNDLE_FILTER_DEFAULT;
             }
             List<BundleDescriptor> descriptors = new ClasspathScanner().scanForBundles(bundleFilter);
-            descriptors = Lists.newArrayList(descriptors);
+            descriptors = List.of(descriptors);
             if (PropertiesUtil.toBoolean(config.get(REPOSITORY_ENV_SPRING_BOOT), false)){
                 descriptors = SpringBootSupport.processDescriptors(descriptors);
             }
diff --git a/oak-pojosr/src/main/java/org/apache/jackrabbit/oak/run/osgi/SpringBootSupport.java b/oak-pojosr/src/main/java/org/apache/jackrabbit/oak/run/osgi/SpringBootSupport.java
index 4d8f41376f..098508a2ba 100644
--- a/oak-pojosr/src/main/java/org/apache/jackrabbit/oak/run/osgi/SpringBootSupport.java
+++ b/oak-pojosr/src/main/java/org/apache/jackrabbit/oak/run/osgi/SpringBootSupport.java
@@ -53,7 +53,7 @@ class SpringBootSupport {
 
     public static List<BundleDescriptor> processDescriptors(List<BundleDescriptor> descriptors)
             throws IOException {
-        List<BundleDescriptor> processed = Lists.newArrayList();
+        List<BundleDescriptor> processed = new ArrayList<>();
         for (BundleDescriptor desc : descriptors) {
             if (desc.getRevision() == null) {
                 URL u = new URL(desc.getUrl());
diff --git a/oak-query-spi/src/main/java/org/apache/jackrabbit/oak/query/facet/FacetResult.java b/oak-query-spi/src/main/java/org/apache/jackrabbit/oak/query/facet/FacetResult.java
index edc3d2f757..8cdd2c3f95 100644
--- a/oak-query-spi/src/main/java/org/apache/jackrabbit/oak/query/facet/FacetResult.java
+++ b/oak-query-spi/src/main/java/org/apache/jackrabbit/oak/query/facet/FacetResult.java
@@ -16,10 +16,8 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.jackrabbit.oak.query.facet;
 
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.guava.common.collect.Maps;
 import org.apache.jackrabbit.oak.commons.json.JsopBuilder;
 import org.apache.jackrabbit.oak.commons.json.JsopReader;
@@ -42,6 +40,8 @@ import java.util.Set;
 import static java.util.Collections.reverseOrder;
 import static java.util.Comparator.comparingInt;
 
+import java.util.ArrayList;
+
 /**
  * A facet result is a wrapper for {@link javax.jcr.query.QueryResult} capable of returning information about facets
  * stored in the query result {@link javax.jcr.query.Row}s.
@@ -135,7 +135,7 @@ public class FacetResult {
                 label = null;
             }
         }
-        facets = Lists.newArrayList(facetsMap.values());
+        facets = new ArrayList<>(facetsMap.values());
         Collections.sort(facets, reverseOrder(comparingInt(Facet::getCount)));
         perDimFacets.put(dimension, facets);
     }
diff --git a/oak-query-spi/src/main/java/org/apache/jackrabbit/oak/spi/query/CompositeQueryIndexProvider.java b/oak-query-spi/src/main/java/org/apache/jackrabbit/oak/spi/query/CompositeQueryIndexProvider.java
index 05f41fc791..57e70fe08a 100644
--- a/oak-query-spi/src/main/java/org/apache/jackrabbit/oak/spi/query/CompositeQueryIndexProvider.java
+++ b/oak-query-spi/src/main/java/org/apache/jackrabbit/oak/spi/query/CompositeQueryIndexProvider.java
@@ -16,6 +16,7 @@
  */
 package org.apache.jackrabbit.oak.spi.query;
 
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
@@ -24,7 +25,6 @@ import org.apache.jackrabbit.oak.spi.state.NodeState;
 import org.jetbrains.annotations.NotNull;
 
 import org.apache.jackrabbit.guava.common.collect.ImmutableList;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 
 /**
  * This {@code QueryIndexProvider} aggregates a list of query index providers
@@ -62,16 +62,15 @@ public class CompositeQueryIndexProvider implements QueryIndexProvider {
 
     @Override @NotNull
     public List<? extends QueryIndex> getQueryIndexes(NodeState nodeState) {
-        List<QueryIndex> indexes = Lists.newArrayList();
+        List<QueryIndex> indexes = new ArrayList<>();
         for (QueryIndexProvider provider : providers) {
             indexes.addAll(provider.getQueryIndexes(nodeState));
         }
         return indexes;
     }
-    
+
     @Override
     public String toString() {
         return getClass().getName() + ": " + providers.toString();
     }
-
 }
diff --git a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreHelper.java b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreHelper.java
index f9bda9802f..d820efd296 100644
--- a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreHelper.java
+++ b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreHelper.java
@@ -88,7 +88,7 @@ public class DocumentNodeStoreHelper {
         long totalGarbage = 0;
         Iterable<NodeDocument> docs = getDocuments(store.getDocumentStore());
         PriorityQueue<BlobReferences> queue = new PriorityQueue<BlobReferences>(num, comparator);
-        List<Blob> blobs = Lists.newArrayList();
+        List<Blob> blobs = new ArrayList<>();
         long docCount = 0;
         for (NodeDocument doc : docs) {
             if (++docCount % 10000 == 0) {
@@ -104,7 +104,7 @@ public class DocumentNodeStoreHelper {
         }
 
         System.out.println();
-        List<BlobReferences> refs = Lists.newArrayList();
+        List<BlobReferences> refs = new ArrayList<>();
         refs.addAll(queue);
         Collections.sort(refs, Collections.reverseOrder(comparator));
         System.out.println("Total garbage size: " + FileUtils.byteCountToDisplaySize(totalGarbage));
@@ -119,7 +119,7 @@ public class DocumentNodeStoreHelper {
         long garbageSize = 0;
         int numBlobs = 0;
 
-        List<Blob> blobs = Lists.newArrayList();
+        List<Blob> blobs = new ArrayList<>();
         RevisionVector head = ns.getHeadRevision();
         boolean exists = doc.getNodeAtRevision(ns, head, null) != null;
         for (String key : doc.keySet()) {
diff --git a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/run/cli/OakHelpFormatter.java b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/run/cli/OakHelpFormatter.java
index d40e6dac46..312a48d97c 100644
--- a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/run/cli/OakHelpFormatter.java
+++ b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/run/cli/OakHelpFormatter.java
@@ -47,7 +47,7 @@ public class OakHelpFormatter implements HelpFormatter {
 
     public OakHelpFormatter(Iterable<OptionsBean> optionBeans, @Nullable String commandName,
                             @Nullable String summary,@Nullable String connectionString) {
-        this.optionBeans = Lists.newArrayList(optionBeans);
+        this.optionBeans = List.of(optionBeans);
         this.commandName = commandName;
         this.summary = summary;
         this.connectionString = connectionString;
diff --git a/oak-run-commons/src/test/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileStoreIteratorTest.java b/oak-run-commons/src/test/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileStoreIteratorTest.java
index f3827d4b54..3faf79664d 100644
--- a/oak-run-commons/src/test/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileStoreIteratorTest.java
+++ b/oak-run-commons/src/test/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileStoreIteratorTest.java
@@ -176,7 +176,7 @@ public class FlatFileStoreIteratorTest {
 
     @Test
     public void bufferEstimatesMemory() {
-        List<NodeStateEntry> nseList = Lists.newArrayList(
+        List<NodeStateEntry> nseList = List.of(
                 new NodeStateEntryBuilder(EmptyNodeState.EMPTY_NODE, "/a").withMemUsage(20).build(),
                 new NodeStateEntryBuilder(EmptyNodeState.EMPTY_NODE, "/a/b").withMemUsage(30).build()
         );
@@ -204,7 +204,7 @@ public class FlatFileStoreIteratorTest {
             {
                 // 100 MB limit
                 int mb = 100;
-                List<NodeStateEntry> list = Lists.newArrayList(root, e100MB, e1Byte);
+                List<NodeStateEntry> list = List.of(root, e100MB, e1Byte);
                 FlatFileStoreIterator fitr = newInMemoryFlatFileStore(list.iterator(), Set.of(), mb);
                 NodeState rootNS = fitr.next().getNodeState();
                 NodeState aNS = rootNS.getChildNode("a");//default is 100MB, this should work
@@ -220,7 +220,7 @@ public class FlatFileStoreIteratorTest {
                 int mb = 1;
                 System.setProperty(BUFFER_MEM_LIMIT_CONFIG_NAME, "1");
 
-                List<NodeStateEntry> list = Lists.newArrayList(root, e1MB, e1Byte);
+                List<NodeStateEntry> list = List.of(root, e1MB, e1Byte);
                 FlatFileStoreIterator fitr = newInMemoryFlatFileStore(list.iterator(), Set.of(), mb);
                 NodeState rootNS = fitr.next().getNodeState();
                 NodeState aNS = rootNS.getChildNode("a");//configured limit is 10 bytes, this should work
@@ -236,7 +236,7 @@ public class FlatFileStoreIteratorTest {
                 // negative value for unbounded buffer
                 int mb = -1;
 
-                List<NodeStateEntry> list = Lists.newArrayList(root, e100MB, e1Byte);
+                List<NodeStateEntry> list = List.of(root, e100MB, e1Byte);
                 FlatFileStoreIterator fitr = newInMemoryFlatFileStore(list.iterator(), Set.of(), mb);
                 NodeState rootNS = fitr.next().getNodeState();
                 NodeState aNS = rootNS.getChildNode("a");
diff --git a/oak-run/src/main/java/org/apache/jackrabbit/oak/checkpoint/DocumentCheckpoints.java b/oak-run/src/main/java/org/apache/jackrabbit/oak/checkpoint/DocumentCheckpoints.java
index 7c721292e2..4bbc838f84 100644
--- a/oak-run/src/main/java/org/apache/jackrabbit/oak/checkpoint/DocumentCheckpoints.java
+++ b/oak-run/src/main/java/org/apache/jackrabbit/oak/checkpoint/DocumentCheckpoints.java
@@ -39,7 +39,7 @@ class DocumentCheckpoints extends Checkpoints {
 
     @Override
     public List<CP> list() {
-        List<CP> list = Lists.newArrayList();
+        List<CP> list = new ArrayList<>();
         for (Map.Entry<Revision, Long> entry : getCheckpoints(store).entrySet()) {
             list.add(new CP(entry.getKey().toString(),
                     entry.getKey().getTimestamp(),
diff --git a/oak-run/src/main/java/org/apache/jackrabbit/oak/checkpoint/SegmentTarCheckpoints.java b/oak-run/src/main/java/org/apache/jackrabbit/oak/checkpoint/SegmentTarCheckpoints.java
index f14b998c8c..acf3b20581 100644
--- a/oak-run/src/main/java/org/apache/jackrabbit/oak/checkpoint/SegmentTarCheckpoints.java
+++ b/oak-run/src/main/java/org/apache/jackrabbit/oak/checkpoint/SegmentTarCheckpoints.java
@@ -59,7 +59,7 @@ class SegmentTarCheckpoints extends Checkpoints {
 
     @Override
     public List<CP> list() {
-        List<CP> list = Lists.newArrayList();
+        List<CP> list = new ArrayList<>();
         NodeState ns = store.getHead().getChildNode("checkpoints");
         for (ChildNodeEntry cne : ns.getChildNodeEntries()) {
             NodeState cneNs = cne.getNodeState();
diff --git a/oak-run/src/main/java/org/apache/jackrabbit/oak/explorer/AbstractSegmentTarExplorerBackend.java b/oak-run/src/main/java/org/apache/jackrabbit/oak/explorer/AbstractSegmentTarExplorerBackend.java
index f054ebdfa2..3b09a1427c 100644
--- a/oak-run/src/main/java/org/apache/jackrabbit/oak/explorer/AbstractSegmentTarExplorerBackend.java
+++ b/oak-run/src/main/java/org/apache/jackrabbit/oak/explorer/AbstractSegmentTarExplorerBackend.java
@@ -45,7 +45,7 @@ import java.util.Map;
 import java.util.Set;
 import java.util.UUID;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static java.util.Collections.reverseOrder;
 
 /**
@@ -73,10 +73,10 @@ public abstract class AbstractSegmentTarExplorerBackend implements ExplorerBacke
         JournalFile journal = getJournal();
 
         if (!journal.exists()) {
-            return newArrayList();
+            return new ArrayList<>();
         }
 
-        List<String> revs = newArrayList();
+        List<String> revs = new ArrayList<>();
         JournalReader journalReader = null;
 
         try {
@@ -85,7 +85,7 @@ public abstract class AbstractSegmentTarExplorerBackend implements ExplorerBacke
                     entry -> entry.getRevision());
 
             try {
-                revs = newArrayList(revisionIterator);
+                revs = NAL(revisionIterator);
             } finally {
                 journalReader.close();
             }
diff --git a/oak-run/src/main/java/org/apache/jackrabbit/oak/explorer/NodeStoreTree.java b/oak-run/src/main/java/org/apache/jackrabbit/oak/explorer/NodeStoreTree.java
index a836c3e7bd..1c0b00a2c3 100644
--- a/oak-run/src/main/java/org/apache/jackrabbit/oak/explorer/NodeStoreTree.java
+++ b/oak-run/src/main/java/org/apache/jackrabbit/oak/explorer/NodeStoreTree.java
@@ -18,7 +18,7 @@
  */
 package org.apache.jackrabbit.oak.explorer;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.guava.common.collect.Sets.intersection;
 import static org.apache.jackrabbit.guava.common.escape.Escapers.builder;
 import static java.util.Collections.sort;
@@ -219,7 +219,7 @@ class NodeStoreTree extends JPanel implements TreeSelectionListener, Closeable {
             return;
         }
 
-        List<NamePathModel> kids = newArrayList();
+        List<NamePathModel> kids = new ArrayList<>();
         for (ChildNodeEntry ce : model.getState().getChildNodeEntries()) {
             NamePathModel c = new NamePathModel(ce.getName(), concat(
                     model.getPath(), ce.getName()), ce.getNodeState(),
@@ -420,7 +420,7 @@ class NodeStoreTree extends JPanel implements TreeSelectionListener, Closeable {
             sb.append(newline);
         }
 
-        List<String> paths = newArrayList();
+        List<String> paths = new ArrayList<>();
         filterNodeStates(uuids, paths, backend.getHead(), "/", backend);
         printPaths(paths, sb);
 
@@ -462,7 +462,7 @@ class NodeStoreTree extends JPanel implements TreeSelectionListener, Closeable {
             }
         }
 
-        List<String> paths = newArrayList();
+        List<String> paths = new ArrayList<>();
         filterNodeStates(Set.of(id), paths, backend.getHead(), "/", backend);
         printPaths(paths, sb);
 
@@ -707,10 +707,10 @@ class NodeStoreTree extends JPanel implements TreeSelectionListener, Closeable {
         }
         Long[] s = {0L, 0L};
 
-        List<String> names = newArrayList(ns.getChildNodeNames());
+        List<String> names = NAL(ns.getChildNodeNames());
 
         if (names.contains("root")) {
-            List<String> temp = newArrayList();
+            List<String> temp = new ArrayList<>();
             int poz = 0;
             // push 'root' to the beginning
             for (String n : names) {
diff --git a/oak-run/src/main/java/org/apache/jackrabbit/oak/plugins/document/SweepHelper.java b/oak-run/src/main/java/org/apache/jackrabbit/oak/plugins/document/SweepHelper.java
index 132bc2e249..dbd2c2a92d 100644
--- a/oak-run/src/main/java/org/apache/jackrabbit/oak/plugins/document/SweepHelper.java
+++ b/oak-run/src/main/java/org/apache/jackrabbit/oak/plugins/document/SweepHelper.java
@@ -25,7 +25,7 @@ import java.util.concurrent.atomic.AtomicReference;
 import org.apache.jackrabbit.oak.commons.TimeDurationFormatter;
 import org.apache.jackrabbit.oak.plugins.document.util.Utils;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.oak.plugins.document.Collection.JOURNAL;
 import static org.apache.jackrabbit.oak.plugins.document.Collection.NODES;
 import static org.apache.jackrabbit.oak.plugins.document.UpdateOp.Operation.Type.REMOVE_MAP_ENTRY;
@@ -74,7 +74,7 @@ public final class SweepHelper {
                 entry.invalidate(Collections.singleton(r));
                 Revision jRev = context.newRevision();
                 UpdateOp jOp = entry.asUpdateOp(jRev);
-                if (!store.create(JOURNAL, newArrayList(invOp, jOp))) {
+                if (!store.create(JOURNAL, NAL(invOp, jOp))) {
                     String msg = "Unable to create journal entries for " +
                             "document invalidation.";
                     throw new DocumentStoreException(msg);
@@ -82,7 +82,7 @@ public final class SweepHelper {
                 sweepRev.set(Utils.max(sweepRev.get(), jRev));
                 // now that journal entry is in place, perform the actual
                 // updates on the documents
-                store.createOrUpdate(NODES, newArrayList(updates.values()));
+                store.createOrUpdate(NODES, NAL(updates.values()));
                 sweepUpdates.incrementAndGet();
                 trackStats(updates.values());
                 System.out.println("Sweeper updated " + updates.keySet());
diff --git a/oak-run/src/main/java/org/apache/jackrabbit/oak/run/DataStoreCommand.java b/oak-run/src/main/java/org/apache/jackrabbit/oak/run/DataStoreCommand.java
index 31c2823d0e..03dff1fa5b 100644
--- a/oak-run/src/main/java/org/apache/jackrabbit/oak/run/DataStoreCommand.java
+++ b/oak-run/src/main/java/org/apache/jackrabbit/oak/run/DataStoreCommand.java
@@ -318,7 +318,7 @@ public class DataStoreCommand implements Command {
             dataStore.getAllMetadataRecords(SharedDataStoreUtils.SharedStoreRecordType.REPOSITORY.getType());
         log.info("Repository files {}", repoFiles);
 
-        List<String> records = Lists.newArrayList();
+        List<String> records = new ArrayList<>();
         for (DataRecord repoRec : repoFiles) {
             String id =
                 SharedDataStoreUtils.SharedStoreRecordType.REPOSITORY.getIdFromName(repoRec.getIdentifier().toString());
diff --git a/oak-run/src/test/java/org/apache/jackrabbit/oak/index/IncrementalStoreTest.java b/oak-run/src/test/java/org/apache/jackrabbit/oak/index/IncrementalStoreTest.java
index 7dbe79b31f..f40ff31286 100644
--- a/oak-run/src/test/java/org/apache/jackrabbit/oak/index/IncrementalStoreTest.java
+++ b/oak-run/src/test/java/org/apache/jackrabbit/oak/index/IncrementalStoreTest.java
@@ -91,7 +91,7 @@ import java.util.function.Function;
 import java.util.function.Predicate;
 import java.util.stream.Collectors;
 
-import static com.google.common.collect.Lists.newArrayList;
+import static com.google.common.collect.Lists.NAL;
 import static org.apache.jackrabbit.oak.index.indexer.document.flatfile.pipelined.PipelinedMongoDownloadTask.OAK_INDEXER_PIPELINED_MONGO_CUSTOM_EXCLUDED_PATHS;
 import static org.apache.jackrabbit.oak.index.indexer.document.flatfile.pipelined.PipelinedMongoDownloadTask.OAK_INDEXER_PIPELINED_MONGO_CUSTOM_EXCLUDE_ENTRIES_REGEX;
 import static org.apache.jackrabbit.oak.index.indexer.document.flatfile.pipelined.PipelinedMongoDownloadTask.OAK_INDEXER_PIPELINED_MONGO_REGEX_PATH_FILTERING;
@@ -281,7 +281,7 @@ public class IncrementalStoreTest {
         IndexDefinitionUpdater indexDefinitionUpdater = new IndexDefinitionUpdater(new File(referenceIndexFilePath));
 
 
-        ExtendedIndexHelper indexHelper = new ExtendedIndexHelper(store, blobStore, whiteboard, workDir, workDir, newArrayList(indexDefinitionUpdater.getIndexPaths()));
+        ExtendedIndexHelper indexHelper = new ExtendedIndexHelper(store, blobStore, whiteboard, workDir, workDir, NAL(indexDefinitionUpdater.getIndexPaths()));
         IndexerSupport indexerSupport = new IndexerSupport(indexHelper, checkpoint);
         indexerSupport.setIndexDefinitions(new File(referenceIndexFilePath));
 
diff --git a/oak-run/src/test/java/org/apache/jackrabbit/oak/index/ReindexIT.java b/oak-run/src/test/java/org/apache/jackrabbit/oak/index/ReindexIT.java
index 52b1600f22..30276422b0 100644
--- a/oak-run/src/test/java/org/apache/jackrabbit/oak/index/ReindexIT.java
+++ b/oak-run/src/test/java/org/apache/jackrabbit/oak/index/ReindexIT.java
@@ -361,7 +361,7 @@ public class ReindexIT extends LuceneAbstractIndexCommandTest {
         assertThat(explain, containsString("/oak:index/barIndex"));
 
         IndexPathService idxPathService = new IndexPathServiceImpl(fixture2.getNodeStore());
-        List<String> indexPaths = Lists.newArrayList(idxPathService.getIndexPaths());
+        List<String> indexPaths = List.of(idxPathService.getIndexPaths());
 
         assertThat(indexPaths, hasItem("/oak:index/nodetype"));
         assertThat(indexPaths, hasItem("/oak:index/barIndex"));
@@ -419,7 +419,7 @@ public class ReindexIT extends LuceneAbstractIndexCommandTest {
     }
 
     private List<String> getResult(QueryResult result, String propertyName) throws RepositoryException {
-        List<String> results = Lists.newArrayList();
+        List<String> results = new ArrayList<>();
         RowIterator it = result.getRows();
         while (it.hasNext()) {
             Row row = it.nextRow();
diff --git a/oak-run/src/test/java/org/apache/jackrabbit/oak/plugins/tika/TextPopulatorTest.java b/oak-run/src/test/java/org/apache/jackrabbit/oak/plugins/tika/TextPopulatorTest.java
index b35624442e..d8079a38ec 100644
--- a/oak-run/src/test/java/org/apache/jackrabbit/oak/plugins/tika/TextPopulatorTest.java
+++ b/oak-run/src/test/java/org/apache/jackrabbit/oak/plugins/tika/TextPopulatorTest.java
@@ -101,7 +101,7 @@ public class TextPopulatorTest {
     }
 
     private List<Field> createLuceneDocument(@NotNull String path, String ... values) {
-        List<Field> fields = Lists.newArrayList();
+        List<Field> fields = new ArrayList<>();
         for (String value : values) {
             if (value != null) {
                 fields.add(FieldFactory.newFulltextField(value, true));
@@ -269,7 +269,7 @@ public class TextPopulatorTest {
     }
 
     private static class FakeBinaryResourceProvider implements BinaryResourceProvider {
-        private List<BinaryResource> binaries = Lists.newArrayList();
+        private List<BinaryResource> binaries = new ArrayList<>();
 
         FakeBinaryResourceProvider(String ... paths) {
             for (String path : paths) {
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 2e04c78415..5fedb9c70f 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
@@ -317,14 +317,14 @@ public class DataStoreCheckTest {
 
     private void testAllParams(File dump, File repoHome) throws Exception {
         List<String> argsList = Lists
-            .newArrayList("--id", "--ref", "--consistency", "--" + dsOption, cfgFilePath, "--store", storePath,
+            .NAL("--id", "--ref", "--consistency", "--" + dsOption, cfgFilePath, "--store", storePath,
                 "--dump", dump.getAbsolutePath(), "--repoHome", repoHome.getAbsolutePath());
         DataStoreCheckCommand.checkDataStore(argsList.toArray(new String[0]));
     }
 
     private void testAllParamsVerbose(File dump, File repoHome) throws Exception {
         List<String> argsList = Lists
-            .newArrayList("--id", "--ref", "--consistency", "--" + dsOption, cfgFilePath, "--store", storePath,
+            .NAL("--id", "--ref", "--consistency", "--" + dsOption, cfgFilePath, "--store", storePath,
                 "--dump", dump.getAbsolutePath(), "--repoHome", repoHome.getAbsolutePath(), "--verbose");
         DataStoreCheckCommand.checkDataStore(argsList.toArray(new String[0]));
     }
@@ -334,15 +334,15 @@ public class DataStoreCheckTest {
         setupDataStore.close();
         File dump = temporaryFolder.newFolder();
         List<String> argsList = Lists
-            .newArrayList("--" + dsOption, cfgFilePath, "--store", storePath,
+            .NAL("--" + dsOption, cfgFilePath, "--store", storePath,
                 "--dump", dump.getAbsolutePath());
         log.info("Running testMissinOpParams: {}", argsList);
-        testIncorrectParams(argsList, Lists.newArrayList("Missing required option(s)", "id", "ref", "consistency"));
+        testIncorrectParams(argsList, List.of("Missing required option(s)", "id", "ref", "consistency"));
     }
 
     public void testTarNoDSOption(File dump) throws Exception {
         List<String> argsList = Lists
-            .newArrayList("--id", "--ref", "--consistency", "--nods", "--store", storePath,
+            .NAL("--id", "--ref", "--consistency", "--nods", "--store", storePath,
                 "--dump", dump.getAbsolutePath(), "--repoHome", temporaryFolder.newFolder().getAbsolutePath());
         DataStoreCheckCommand.checkDataStore(argsList.toArray(new String[0]));
     }
@@ -352,9 +352,9 @@ public class DataStoreCheckTest {
         setupDataStore.close();
         File dump = temporaryFolder.newFolder();
         List<String> argsList = Lists
-            .newArrayList("--id", "--ref", "--consistency", "--store", storePath,
+            .NAL("--id", "--ref", "--consistency", "--store", storePath,
                 "--dump", dump.getAbsolutePath(), "--repoHome", temporaryFolder.newFolder().getAbsolutePath());
-        testIncorrectParams(argsList, Lists.newArrayList("Operation not defined for SegmentNodeStore without external datastore"));
+        testIncorrectParams(argsList, List.of("Operation not defined for SegmentNodeStore without external datastore"));
 
     }
 
@@ -363,14 +363,14 @@ public class DataStoreCheckTest {
         setupDataStore.close();
         File dump = temporaryFolder.newFolder();
         List<String> argsList = Lists
-            .newArrayList("--consistency", "--" + dsOption, cfgFilePath,
+            .NAL("--consistency", "--" + dsOption, cfgFilePath,
                 "--dump", dump.getAbsolutePath(), "--repoHome", temporaryFolder.newFolder().getAbsolutePath());
-        testIncorrectParams(argsList, Lists.newArrayList("Missing required option(s) [store]"));
+        testIncorrectParams(argsList, List.of("Missing required option(s) [store]"));
 
         argsList = Lists
-            .newArrayList("--ref", "--" + dsOption, cfgFilePath,
+            .NAL("--ref", "--" + dsOption, cfgFilePath,
                 "--dump", dump.getAbsolutePath(), "--repoHome", temporaryFolder.newFolder().getAbsolutePath());
-        testIncorrectParams(argsList, Lists.newArrayList("Missing required option(s) [store]"));
+        testIncorrectParams(argsList, List.of("Missing required option(s) [store]"));
     }
 
     @Test
@@ -378,10 +378,10 @@ public class DataStoreCheckTest {
         setupDataStore.close();
         File dump = temporaryFolder.newFolder();
         List<String> argsList = Lists
-            .newArrayList("--ref", "--store", storePath,
+            .NAL("--ref", "--store", storePath,
                 "--dump", dump.getAbsolutePath(), "--track", "--repoHome", temporaryFolder.newFolder().getAbsolutePath());
         testIncorrectParams(argsList,
-            Lists.newArrayList("Option(s) [track] are unavailable given other options on the command line"));
+            List.of("Option(s) [track] are unavailable given other options on the command line"));
     }
 
     @Test
@@ -389,9 +389,9 @@ public class DataStoreCheckTest {
         setupDataStore.close();
         File dump = temporaryFolder.newFolder();
         List<String> argsList = Lists
-            .newArrayList("--id", "--ref", "--consistency", "--store", storePath,
+            .NAL("--id", "--ref", "--consistency", "--store", storePath,
                 "--dump", dump.getAbsolutePath());
-        testIncorrectParams(argsList, Lists.newArrayList("Missing required option(s) [repoHome]"));
+        testIncorrectParams(argsList, List.of("Missing required option(s) [repoHome]"));
     }
 
     @Test
@@ -399,9 +399,9 @@ public class DataStoreCheckTest {
         setupDataStore.close();
         File dump = temporaryFolder.newFolder();
         List<String> argsList = Lists
-            .newArrayList("--id", "--ref", "--consistency", "--store", storePath,
+            .NAL("--id", "--ref", "--consistency", "--store", storePath,
                 "--dump", dump.getAbsolutePath(), "--track");
-        testIncorrectParams(argsList, Lists.newArrayList("Missing required option(s) [repoHome]"));
+        testIncorrectParams(argsList, List.of("Missing required option(s) [repoHome]"));
     }
 
     public static void testIncorrectParams(List<String> argList, ArrayList<String> assertMsg) throws Exception {
diff --git a/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCommandMetadataTest.java b/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCommandMetadataTest.java
index 08f1323d84..e2b77f9726 100644
--- a/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCommandMetadataTest.java
+++ b/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCommandMetadataTest.java
@@ -165,7 +165,7 @@ public class DataStoreCommandMetadataTest {
         setupDataStore.addMetadataRecord(new ByteArrayInputStream(new byte[0]),
             REFERENCES.getNameFromIdPrefix(rep2Id, sessionId));
 
-        List<String> expectations = Lists.newArrayList();
+        List<String> expectations = new ArrayList<>();
         expectations.add(Joiner.on("|").join(rep2Id, MILLISECONDS.toSeconds(expectAuxMarkerMetadataRecord.getLastModified()),
             MILLISECONDS.toSeconds(expectAuxMetadataRecord.getLastModified()), "-"));
         expectations.add(Joiner.on("|").join(repoId, MILLISECONDS.toSeconds(expectMainMarkerMetadataRecord.getLastModified()),
@@ -184,7 +184,7 @@ public class DataStoreCommandMetadataTest {
         File dump = temporaryFolder.newFolder();
 
         List<String> argsList = Lists
-            .newArrayList("--get-metadata", "--" + getOption(blobFixture.getType()), blobFixture.getConfigPath(),
+            .NAL("--get-metadata", "--" + getOption(blobFixture.getType()), blobFixture.getConfigPath(),
                 storeFixture.getConnectionString(), "--out-dir", dump.getAbsolutePath(), "--work-dir",
                 temporaryFolder.newFolder().getAbsolutePath());
 
diff --git a/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCommandTest.java b/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCommandTest.java
index 7d53878a92..9513bb835b 100644
--- a/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCommandTest.java
+++ b/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCommandTest.java
@@ -181,7 +181,7 @@ public class DataStoreCommandTest {
 
         Data data = new Data();
 
-        List<Integer> toBeDeleted = Lists.newArrayList();
+        List<Integer> toBeDeleted = new ArrayList<>();
         Random rand = new Random();
         for (int i = 0; i < numMaxDeletions; i++) {
             int n = rand.nextInt(numBlobs);
@@ -294,7 +294,7 @@ public class DataStoreCommandTest {
         storeFixture.close();
         File dump = temporaryFolder.newFolder();
         List<String> argsList = Lists
-            .newArrayList("--check-consistency", "--" + getOption(blobFixture.getType()), blobFixture.getConfigPath(), "--out-dir",
+            .NAL("--check-consistency", "--" + getOption(blobFixture.getType()), blobFixture.getConfigPath(), "--out-dir",
                 dump.getAbsolutePath(), storeFixture.getConnectionString(), "--reset-log-config", "false", "--work-dir",
                 temporaryFolder.newFolder().getAbsolutePath());
         if (!Strings.isNullOrEmpty(additionalParams)) {
@@ -326,7 +326,7 @@ public class DataStoreCommandTest {
         storeFixture.close();
         File dump = temporaryFolder.newFolder();
         List<String> argsList = Lists
-            .newArrayList("--" + getOption(blobFixture.getType()), blobFixture.getConfigPath(), "--out-dir",
+            .NAL("--" + getOption(blobFixture.getType()), blobFixture.getConfigPath(), "--out-dir",
                 dump.getAbsolutePath(), storeFixture.getConnectionString(), "--reset-log-config", "false", "--work-dir",
                 temporaryFolder.newFolder().getAbsolutePath());
         if (!Strings.isNullOrEmpty(additionalParams)) {
@@ -334,7 +334,7 @@ public class DataStoreCommandTest {
         }
 
         log.info("Running testMissingOpParams: {}", argsList);
-        testIncorrectParams(argsList, Lists.newArrayList("No actions specified"), DataStoreCommand.class);
+        testIncorrectParams(argsList, List.of("No actions specified"), DataStoreCommand.class);
     }
 
     /**
@@ -348,14 +348,14 @@ public class DataStoreCommandTest {
 
         File dump = temporaryFolder.newFolder();
         List<String> argsList = Lists
-            .newArrayList(storeFixture.getConnectionString(),
+            .NAL(storeFixture.getConnectionString(),
                 "--out-dir", dump.getAbsolutePath(), "--reset-log-config", "false", "--work-dir",
                 temporaryFolder.newFolder().getAbsolutePath(), "--check-consistency");
         if (!Strings.isNullOrEmpty(additionalParams)) {
             argsList.add(additionalParams);
         }
 
-        testIncorrectParams(argsList, Lists.newArrayList("No BlobStore specified"), DataStoreCommand.class);
+        testIncorrectParams(argsList, List.of("No BlobStore specified"), DataStoreCommand.class);
     }
 
     @Test
@@ -684,14 +684,14 @@ public class DataStoreCommandTest {
         storeFixture.close();
 
         List<String> argsList = Lists
-            .newArrayList("--collect-garbage", "--max-age", String.valueOf(0), "--" + getOption(blobFixture.getType()),
+            .NAL("--collect-garbage", "--max-age", String.valueOf(0), "--" + getOption(blobFixture.getType()),
                 blobFixture.getConfigPath(), storeFixture.getConnectionString(), "--out-dir", dump.getAbsolutePath(),
                 "--reset-log-config", "false", "--work-dir", temporaryFolder.newFolder().getAbsolutePath());
         if (!Strings.isNullOrEmpty(additionalParams)) {
             argsList.add(additionalParams);
         }
 
-        testIncorrectParams(argsList, Lists.newArrayList("Not all repositories have marked references available : "),
+        testIncorrectParams(argsList, List.of("Not all repositories have marked references available : "),
             MarkSweepGarbageCollector.class);
     }
 
@@ -709,7 +709,7 @@ public class DataStoreCommandTest {
         storeFixture.close();
 
         List<String> argsList = Lists
-            .newArrayList("--check-consistency", "--fake-ds-path", dsPath.getAbsolutePath(),
+            .NAL("--check-consistency", "--fake-ds-path", dsPath.getAbsolutePath(),
                 storeFixture.getConnectionString(), "--out-dir", dump.getAbsolutePath(), "--work-dir",
                 temporaryFolder.newFolder().getAbsolutePath());
         if (!Strings.isNullOrEmpty(additionalParams)) {
@@ -729,7 +729,7 @@ public class DataStoreCommandTest {
 
     private void testConsistency(File dump, Data data, boolean verbose, boolean verboseRootPath, boolean markOnly) throws Exception {
         List<String> argsList = Lists
-            .newArrayList("--check-consistency", String.valueOf(markOnly), "--" + getOption(blobFixture.getType()), blobFixture.getConfigPath(),
+            .NAL("--check-consistency", String.valueOf(markOnly), "--" + getOption(blobFixture.getType()), blobFixture.getConfigPath(),
                 storeFixture.getConnectionString(), "--out-dir", dump.getAbsolutePath(), "--work-dir",
                 temporaryFolder.newFolder().getAbsolutePath());
         if (!Strings.isNullOrEmpty(additionalParams)) {
@@ -771,7 +771,7 @@ public class DataStoreCommandTest {
 
     private void testDumpRef(File dump, Data data, boolean verbose, boolean verboseRootPath) throws Exception {
         List<String> argsList = Lists
-                .newArrayList("--dump-ref", "--" + getOption(blobFixture.getType()), blobFixture.getConfigPath(),
+                .NAL("--dump-ref", "--" + getOption(blobFixture.getType()), blobFixture.getConfigPath(),
                         storeFixture.getConnectionString(), "--out-dir", dump.getAbsolutePath(), "--work-dir",
                         temporaryFolder.newFolder().getAbsolutePath());
         if (!Strings.isNullOrEmpty(additionalParams)) {
@@ -794,7 +794,7 @@ public class DataStoreCommandTest {
 
     private void testDumpIds(File dump, Data data, boolean verbose) throws Exception {
         List<String> argsList = Lists
-                .newArrayList("--dump-id", "--" + getOption(blobFixture.getType()), blobFixture.getConfigPath(),
+                .NAL("--dump-id", "--" + getOption(blobFixture.getType()), blobFixture.getConfigPath(),
                         storeFixture.getConnectionString(), "--out-dir", dump.getAbsolutePath(), "--work-dir",
                         temporaryFolder.newFolder().getAbsolutePath());
         if (!Strings.isNullOrEmpty(additionalParams)) {
@@ -816,7 +816,7 @@ public class DataStoreCommandTest {
 
     private void testGc(File dump, Data data, long maxAge, boolean markOnly, boolean refsOld) throws Exception {
         List<String> argsList = Lists
-            .newArrayList("--collect-garbage", String.valueOf(markOnly), "--max-age", String.valueOf(maxAge),
+            .NAL("--collect-garbage", String.valueOf(markOnly), "--max-age", String.valueOf(maxAge),
                 "--" + getOption(blobFixture.getType()), blobFixture.getConfigPath(),
                 storeFixture.getConnectionString(), "--out-dir", dump.getAbsolutePath(), "--work-dir",
                 temporaryFolder.newFolder().getAbsolutePath());
@@ -871,7 +871,7 @@ public class DataStoreCommandTest {
     private static Map<String, String> dummyData(MemoryBlobStoreNodeStore memNodeStore, String rep2Id, NodeStore store,
         DataStoreBlobStore setupDataStore, File f)
         throws IOException, CommitFailedException, DataStoreException {
-        List<String> list = Lists.newArrayList();
+        List<String> list = new ArrayList<>();
         Map<String, String> idMapping = Maps.newHashMap();
         NodeBuilder a = memNodeStore.getRoot().builder();
         for (int i = 0; i < 2; i++) {
@@ -1358,7 +1358,7 @@ public class DataStoreCommandTest {
         }
 
         static List<Object[]> get() {
-            List<Object[]> fixtures = Lists.newArrayList();
+            List<Object[]> fixtures = new ArrayList<>();
             for (StoreFixture storeFixture : getStoreFixtures()) {
                 if (storeFixture.isAvailable()) {
                     for (DataStoreFixture dsFixture : getDataStoreFixtures()) {
diff --git a/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticAbstractQueryTest.java b/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticAbstractQueryTest.java
index 0c7a6f2cbb..5a03c56f77 100644
--- a/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticAbstractQueryTest.java
+++ b/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticAbstractQueryTest.java
@@ -53,7 +53,7 @@ import java.io.IOException;
 import java.util.List;
 import java.util.concurrent.TimeUnit;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.oak.plugins.index.CompositeIndexEditorProvider.compose;
 import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.INDEX_DEFINITIONS_NAME;
 import static org.apache.jackrabbit.oak.plugins.index.elastic.ElasticIndexDefinition.BULK_FLUSH_INTERVAL_MS_DEFAULT;
@@ -148,7 +148,7 @@ public abstract class ElasticAbstractQueryTest extends AbstractQueryTest {
 
         nodeStore = getNodeStore();
 
-        asyncIndexUpdate = getAsyncIndexUpdate("async", nodeStore, compose(newArrayList(
+        asyncIndexUpdate = getAsyncIndexUpdate("async", nodeStore, compose(NAL(
                 editorProvider,
                 new NodeCounterEditorProvider()
         )));
diff --git a/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/editor/FulltextIndexEditor.java b/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/editor/FulltextIndexEditor.java
index 4e5104e0c7..c65afb8356 100644
--- a/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/editor/FulltextIndexEditor.java
+++ b/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/editor/FulltextIndexEditor.java
@@ -66,7 +66,7 @@ public class FulltextIndexEditor<D> implements IndexEditor, Aggregate.AggregateR
 
   private boolean propertiesChanged = false;
 
-  private final List<PropertyState> propertiesModified = Lists.newArrayList();
+  private final List<PropertyState> propertiesModified = new ArrayList<>();
 
   /*
    * Flag indicating if the current tree being traversed has a deleted parent.
@@ -285,8 +285,8 @@ public class FulltextIndexEditor<D> implements IndexEditor, Aggregate.AggregateR
   }
 
   private MatcherState getMatcherState(String name, NodeState after) {
-    List<Aggregate.Matcher> matched = Lists.newArrayList();
-    List<Aggregate.Matcher> inherited = Lists.newArrayList();
+    List<Aggregate.Matcher> matched = new ArrayList<>();
+    List<Aggregate.Matcher> inherited = new ArrayList<>();
     for (Aggregate.Matcher m : Iterables.concat(matcherState.inherited, currentMatchers)) {
       Aggregate.Matcher result = m.match(name, after);
       if (result.getStatus() == Aggregate.Matcher.Status.MATCH_FOUND){
diff --git a/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/FulltextIndexPlanner.java b/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/FulltextIndexPlanner.java
index 4bdf805e7c..ae4206d535 100644
--- a/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/FulltextIndexPlanner.java
+++ b/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/FulltextIndexPlanner.java
@@ -60,7 +60,7 @@ import org.jetbrains.annotations.Nullable;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 
 import static org.apache.jackrabbit.JcrConstants.JCR_SCORE;
 import static org.apache.jackrabbit.JcrConstants.NT_BASE;
@@ -701,8 +701,8 @@ public class FulltextIndexPlanner {
             return false;
         }
 
-        List<PropertyIndexResult> unique = newArrayList();
-        List<PropertyIndexResult> nonUnique = newArrayList();
+        List<PropertyIndexResult> unique = new ArrayList<>();
+        List<PropertyIndexResult> nonUnique = new ArrayList<>();
 
         for (PropertyRestriction pr : filter.getPropertyRestrictions()) {
             String propertyName = result.getPropertyName(pr);
@@ -1045,7 +1045,7 @@ public class FulltextIndexPlanner {
         public final String indexPath;
         public final IndexDefinition indexDefinition;
         public final IndexDefinition.IndexingRule indexingRule;
-        private final List<PropertyDefinition> sortedProperties = newArrayList();
+        private final List<PropertyDefinition> sortedProperties = new ArrayList<>();
 
         //Map of actual property name as present in our property definitions
         private final Map<String, PropertyDefinition> propDefns = new HashMap<>();
diff --git a/oak-search/src/test/java/org/apache/jackrabbit/oak/plugins/index/IndexQuerySQL2OptimisationCommonTest.java b/oak-search/src/test/java/org/apache/jackrabbit/oak/plugins/index/IndexQuerySQL2OptimisationCommonTest.java
index 0c43187625..528a892149 100644
--- a/oak-search/src/test/java/org/apache/jackrabbit/oak/plugins/index/IndexQuerySQL2OptimisationCommonTest.java
+++ b/oak-search/src/test/java/org/apache/jackrabbit/oak/plugins/index/IndexQuerySQL2OptimisationCommonTest.java
@@ -95,7 +95,7 @@ public abstract class IndexQuerySQL2OptimisationCommonTest extends AbstractQuery
         root.commit();
 
         // creating the dataset
-        List<String> expected = Lists.newArrayList();
+        List<String> expected = new ArrayList<>();
         Tree content = root.getTree("/").addChild("content");
         t = content.addChild("test1");
         t.setProperty(JCR_PRIMARYTYPE, NT_UNSTRUCTURED, NAME);
diff --git a/oak-search/src/test/java/org/apache/jackrabbit/oak/plugins/index/search/util/TapeSamplingTest.java b/oak-search/src/test/java/org/apache/jackrabbit/oak/plugins/index/search/util/TapeSamplingTest.java
index 543be2efd8..b70a6317c9 100644
--- a/oak-search/src/test/java/org/apache/jackrabbit/oak/plugins/index/search/util/TapeSamplingTest.java
+++ b/oak-search/src/test/java/org/apache/jackrabbit/oak/plugins/index/search/util/TapeSamplingTest.java
@@ -26,7 +26,7 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Random;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
@@ -46,7 +46,7 @@ public class TapeSamplingTest {
         List<Integer> input = range(start, end);
         TapeSampling<Integer> res = new TapeSampling<>(r, input.iterator(), input.size(), k);
 
-        List<Integer> samples = newArrayList(res.getSamples());
+        List<Integer> samples = NAL(res.getSamples());
         List<Integer> expected = range(end - k + 1, end);
 
         assertEquals(expected, samples);
@@ -67,7 +67,7 @@ public class TapeSamplingTest {
         List<Integer> input = range(start, end);
         TapeSampling<Integer> res = new TapeSampling<>(r, input.iterator(), input.size(), k);
 
-        List<Integer> samples = newArrayList(res.getSamples());
+        List<Integer> samples = NAL(res.getSamples());
         List<Integer> expected = range(start, start + k - 1);
 
         assertEquals(expected, samples);
@@ -83,7 +83,7 @@ public class TapeSamplingTest {
         List<Integer> input = range(start, end);
         TapeSampling<Integer> res = new TapeSampling<>(r, input.iterator(), input.size(), k);
 
-        List<Integer> samples = newArrayList(res.getSamples());
+        List<Integer> samples = NAL(res.getSamples());
         List<Integer> expected = input;
 
         assertEquals(expected, samples);
@@ -136,6 +136,6 @@ public class TapeSamplingTest {
             }
         };
 
-        return newArrayList(iter);
+        return NAL(iter);
     }
 }
diff --git a/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/plugins/tree/TreeUtil.java b/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/plugins/tree/TreeUtil.java
index ed42423a07..5b3d283642 100644
--- a/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/plugins/tree/TreeUtil.java
+++ b/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/plugins/tree/TreeUtil.java
@@ -16,6 +16,7 @@
  */
 package org.apache.jackrabbit.oak.plugins.tree;
 
+import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.List;
 import java.util.Objects;
@@ -45,7 +46,7 @@ import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
 import static org.apache.jackrabbit.guava.common.collect.Iterables.contains;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static java.util.Collections.emptyList;
 import static org.apache.jackrabbit.JcrConstants.JCR_AUTOCREATED;
 import static org.apache.jackrabbit.JcrConstants.JCR_CREATED;
@@ -361,7 +362,7 @@ public final class TreeUtil {
             throw mixinTypeException(mixinName, true);
         }
 
-        List<String> mixins = Lists.newArrayList();
+        List<String> mixins = new ArrayList<>();
         String primary = getName(tree, JCR_PRIMARYTYPE);
         if (primary != null && Iterables.contains(getNames(type, NodeTypeConstants.REP_PRIMARY_SUBTYPES), primary)) {
             return;
@@ -505,7 +506,7 @@ public final class TreeUtil {
      */
     @NotNull
     public static List<Tree> getEffectiveType(@NotNull Tree tree, @NotNull Tree typeRoot) {
-        List<Tree> types = newArrayList();
+        List<Tree> types = new ArrayList<>();
 
         String primary = getName(tree, JCR_PRIMARYTYPE);
         if (primary != null) {
diff --git a/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/CompositeActionProvider.java b/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/CompositeActionProvider.java
index d12eb4b890..5d2cdb62dd 100644
--- a/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/CompositeActionProvider.java
+++ b/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/CompositeActionProvider.java
@@ -16,11 +16,11 @@
  */
 package org.apache.jackrabbit.oak.spi.security.user.action;
 
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
 
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
 import org.jetbrains.annotations.NotNull;
 
@@ -43,7 +43,7 @@ public class CompositeActionProvider implements AuthorizableActionProvider {
     @NotNull
     @Override
     public List<? extends AuthorizableAction> getAuthorizableActions(@NotNull SecurityProvider securityProvider) {
-        List<AuthorizableAction> actions = Lists.newArrayList();
+        List<AuthorizableAction> actions = new ArrayList<>();
         for (AuthorizableActionProvider p : providers) {
             actions.addAll(p.getAuthorizableActions(securityProvider));
         }
diff --git a/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/DefaultAuthorizableActionProvider.java b/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/DefaultAuthorizableActionProvider.java
index 6b81947a8a..ad3102c667 100644
--- a/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/DefaultAuthorizableActionProvider.java
+++ b/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/DefaultAuthorizableActionProvider.java
@@ -18,10 +18,10 @@ package org.apache.jackrabbit.oak.spi.security.user.action;
 
 import static org.apache.jackrabbit.oak.spi.security.RegistrationConstants.OAK_SECURITY_NAME;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import org.apache.jackrabbit.guava.common.collect.ImmutableMap;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
 import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
 import org.jetbrains.annotations.NotNull;
@@ -104,7 +104,7 @@ public class DefaultAuthorizableActionProvider implements AuthorizableActionProv
     @NotNull
     @Override
     public List<? extends AuthorizableAction> getAuthorizableActions(@NotNull SecurityProvider securityProvider) {
-        List<AuthorizableAction> actions = Lists.newArrayListWithExpectedSize(enabledActions.length);
+        List<AuthorizableAction> actions = new ArrayList<>(enabledActions.length);
         for (String className : enabledActions) {
             try {
                 Class<? extends AuthorizableAction> cl = SUPPORTED_ACTIONS.get(className);
diff --git a/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/plugins/tree/AbstractTreeTest.java b/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/plugins/tree/AbstractTreeTest.java
index aa9d2838f1..b0e5a3fda7 100644
--- a/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/plugins/tree/AbstractTreeTest.java
+++ b/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/plugins/tree/AbstractTreeTest.java
@@ -16,7 +16,6 @@
  */
 package org.apache.jackrabbit.oak.plugins.tree;
 
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.JcrConstants;
 import org.apache.jackrabbit.oak.api.PropertyState;
 import org.apache.jackrabbit.oak.api.Root;
@@ -31,6 +30,8 @@ import org.mockito.Mockito;
 import static org.mockito.Mockito.when;
 import static org.mockito.Mockito.withSettings;
 
+import java.util.List;
+
 public abstract class AbstractTreeTest {
 
     static final String NON_EXISTING_PATH = "/nonExisting";
@@ -60,11 +61,11 @@ public abstract class AbstractTreeTest {
         when(child.hasProperty("p")).thenReturn(true);
         when(child.getProperty("p")).thenReturn(PropertyStates.createProperty("p", STRING_VALUE));
         when(child.hasProperty("pp")).thenReturn(true);
-        PropertyState pp = PropertyStates.createProperty("pp", Lists.newArrayList("v1", "v2"), Type.STRINGS);
+        PropertyState pp = PropertyStates.createProperty("pp", List.of("v1", "v2"), Type.STRINGS);
         when(child.getProperty("pp")).thenReturn(pp);
         when(child.hasProperty(JcrConstants.JCR_PRIMARYTYPE)).thenReturn(true);
         when(child.hasProperty(JcrConstants.JCR_MIXINTYPES)).thenReturn(true);
-        PropertyState mixinNames = PropertyStates.createProperty(JcrConstants.JCR_MIXINTYPES, Lists.newArrayList(JcrConstants.MIX_LOCKABLE, JcrConstants.MIX_VERSIONABLE), Type.NAMES);
+        PropertyState mixinNames = PropertyStates.createProperty(JcrConstants.JCR_MIXINTYPES, List.of(JcrConstants.MIX_LOCKABLE, JcrConstants.MIX_VERSIONABLE), Type.NAMES);
         when(child.getProperty(JcrConstants.JCR_MIXINTYPES)).thenReturn(mixinNames);
 
         when(z.getChild("child")).thenReturn(child);
diff --git a/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/plugins/tree/TreeUtilTest.java b/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/plugins/tree/TreeUtilTest.java
index d71bdb5660..0c611624ab 100644
--- a/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/plugins/tree/TreeUtilTest.java
+++ b/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/plugins/tree/TreeUtilTest.java
@@ -18,7 +18,6 @@ package org.apache.jackrabbit.oak.plugins.tree;
 
 import org.apache.jackrabbit.guava.common.collect.ImmutableList;
 import org.apache.jackrabbit.guava.common.collect.Iterables;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.JcrConstants;
 import org.apache.jackrabbit.oak.api.PropertyState;
 import org.apache.jackrabbit.oak.api.Tree;
@@ -401,7 +400,7 @@ public class TreeUtilTest extends AbstractTreeTest {
         TreeUtil.addMixin(child, MIX_LOCKABLE, typeRoot, "userId");
 
         verify(child, times(1)).getProperty(JcrConstants.JCR_MIXINTYPES);
-        verify(child, never()).setProperty(JcrConstants.JCR_MIXINTYPES, Lists.newArrayList(MIX_LOCKABLE, MIX_VERSIONABLE, MIX_CREATED), Type.NAMES);
+        verify(child, never()).setProperty(JcrConstants.JCR_MIXINTYPES, List.of(MIX_LOCKABLE, MIX_VERSIONABLE, MIX_CREATED), Type.NAMES);
     }
 
     @Test
@@ -412,7 +411,7 @@ public class TreeUtilTest extends AbstractTreeTest {
         TreeUtil.addMixin(child, MIX_LOCKABLE, typeRoot, "userId");
 
         verify(child, times(1)).getProperty(JcrConstants.JCR_MIXINTYPES);
-        verify(child, never()).setProperty(JcrConstants.JCR_MIXINTYPES, Lists.newArrayList(MIX_LOCKABLE, MIX_VERSIONABLE, MIX_CREATED), Type.NAMES);
+        verify(child, never()).setProperty(JcrConstants.JCR_MIXINTYPES, List.of(MIX_LOCKABLE, MIX_VERSIONABLE, MIX_CREATED), Type.NAMES);
     }
 
     @Test
@@ -451,7 +450,7 @@ public class TreeUtilTest extends AbstractTreeTest {
         TreeUtil.addMixin(child, MIX_CREATED, typeRoot, "userId");
 
         verify(child, times(1)).getProperty(JcrConstants.JCR_MIXINTYPES);
-        verify(child, times(1)).setProperty(JcrConstants.JCR_MIXINTYPES, Lists.newArrayList(MIX_LOCKABLE, MIX_VERSIONABLE, MIX_CREATED), Type.NAMES);
+        verify(child, times(1)).setProperty(JcrConstants.JCR_MIXINTYPES, List.of(MIX_LOCKABLE, MIX_VERSIONABLE, MIX_CREATED), Type.NAMES);
     }
 
     @Test
@@ -800,7 +799,7 @@ public class TreeUtilTest extends AbstractTreeTest {
         PropertyState supertypes = PropertyStates.createProperty(REP_SUPERTYPES, ImmutableList.of(MIX_REFERENCEABLE), Type.NAMES);
         when(ntDef.getProperty(REP_SUPERTYPES)).thenReturn(supertypes);
 
-        PropertyState mixinNames = PropertyStates.createProperty(JcrConstants.JCR_MIXINTYPES, Lists.newArrayList(JcrConstants.MIX_VERSIONABLE), Type.NAMES);
+        PropertyState mixinNames = PropertyStates.createProperty(JcrConstants.JCR_MIXINTYPES, List.of(JcrConstants.MIX_VERSIONABLE), Type.NAMES);
         Tree tree = when(mockTree(CHILD_PATH, z, true).getProperty(JCR_MIXINTYPES)).thenReturn(mixinNames).getMock();
         assertTrue(TreeUtil.isNodeType(tree, MIX_REFERENCEABLE, typeRoot));
         assertFalse(TreeUtil.isNodeType(child, MIX_LASTMODIFIED, typeRoot));
diff --git a/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlListTest.java b/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlListTest.java
index 30058bc7e9..39c60303c0 100644
--- a/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlListTest.java
+++ b/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/AbstractAccessControlListTest.java
@@ -29,7 +29,6 @@ import javax.jcr.Value;
 import javax.jcr.security.Privilege;
 
 import org.apache.jackrabbit.guava.common.collect.ImmutableList;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.api.security.JackrabbitAccessControlEntry;
 import org.apache.jackrabbit.oak.api.Tree;
 import org.apache.jackrabbit.oak.api.Type;
@@ -98,7 +97,7 @@ public class AbstractAccessControlListTest extends AbstractAccessControlTest {
     }
 
     protected AbstractAccessControlList createACL(@NotNull JackrabbitAccessControlEntry... entries) {
-        return createACL(getTestPath(), Lists.newArrayList(entries), getNamePathMapper());
+        return createACL(getTestPath(), List.of(entries), getNamePathMapper());
     }
 
     protected AbstractAccessControlList createACL(@NotNull List<JackrabbitAccessControlEntry> entries) {
@@ -107,7 +106,7 @@ public class AbstractAccessControlListTest extends AbstractAccessControlTest {
 
     protected AbstractAccessControlList createACL(@Nullable String jcrPath,
                                                   @NotNull ACE... entries) {
-        return createACL(jcrPath, Lists.newArrayList(entries), getNamePathMapper());
+        return createACL(jcrPath, List.of(entries), getNamePathMapper());
     }
 
     protected AbstractAccessControlList createACL(@Nullable String jcrPath,
@@ -236,7 +235,7 @@ public class AbstractAccessControlListTest extends AbstractAccessControlTest {
 
         String[] restrNames = acl.getRestrictionNames();
         assertNotNull(restrNames);
-        List<String> names = Lists.newArrayList(restrNames);
+        List<String> names = new ArrayList<>(Arrays.asList(restrNames));
         for (RestrictionDefinition def : getRestrictionProvider().getSupportedRestrictions(getTestPath())) {
             assertTrue(names.remove(getNamePathMapper().getJcrName(def.getName())));
         }
diff --git a/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/ImmutableACLTest.java b/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/ImmutableACLTest.java
index 4218fae457..f0cd846406 100644
--- a/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/ImmutableACLTest.java
+++ b/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/ImmutableACLTest.java
@@ -17,7 +17,6 @@
 package org.apache.jackrabbit.oak.spi.security.authorization.accesscontrol;
 
 import org.apache.jackrabbit.guava.common.collect.Iterables;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.api.security.JackrabbitAccessControlEntry;
 import org.apache.jackrabbit.api.security.JackrabbitAccessControlList;
 import org.apache.jackrabbit.oak.namepath.NamePathMapper;
@@ -228,7 +227,7 @@ public class ImmutableACLTest extends AbstractAccessControlListTest {
     public void testCreateFromBaseList() throws Exception {
         AbstractAccessControlList aacl = Mockito.mock(AbstractAccessControlList.class);
         when(aacl.getPath()).thenReturn("/path");
-        List entries = Lists.newArrayList(createEntry(true, PrivilegeConstants.JCR_READ, PrivilegeConstants.JCR_ADD_CHILD_NODES));
+        List entries = List.of(createEntry(true, PrivilegeConstants.JCR_READ, PrivilegeConstants.JCR_ADD_CHILD_NODES));
         when(aacl.getEntries()).thenReturn(entries);
         when(aacl.getRestrictionProvider()).thenReturn(getRestrictionProvider());
         when(aacl.getNamePathMapper()).thenReturn(NamePathMapper.DEFAULT);
diff --git a/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/TestACL.java b/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/TestACL.java
index 7270238f0d..5f3a1c10cb 100644
--- a/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/TestACL.java
+++ b/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/TestACL.java
@@ -24,7 +24,6 @@ import javax.jcr.Value;
 import javax.jcr.security.AccessControlEntry;
 import javax.jcr.security.Privilege;
 
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.api.security.JackrabbitAccessControlEntry;
 import org.apache.jackrabbit.oak.namepath.NamePathMapper;
 import org.apache.jackrabbit.oak.spi.security.authorization.restriction.RestrictionProvider;
@@ -52,7 +51,7 @@ public class TestACL extends AbstractAccessControlList {
                    @NotNull RestrictionProvider restrictionProvider,
                    @NotNull NamePathMapper namePathMapper,
                    @NotNull JackrabbitAccessControlEntry... entry) {
-        this(jcrPath, restrictionProvider, namePathMapper, Lists.newArrayList(entry));
+        this(jcrPath, restrictionProvider, namePathMapper, List.of(entry));
     }
 
     @Override
diff --git a/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/privilege/JcrAllUtilTest.java b/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/privilege/JcrAllUtilTest.java
index e0ec2000bd..1bc51faa59 100644
--- a/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/privilege/JcrAllUtilTest.java
+++ b/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/privilege/JcrAllUtilTest.java
@@ -16,7 +16,6 @@
  */
 package org.apache.jackrabbit.oak.spi.security.privilege;
 
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.guava.common.primitives.Longs;
 import org.apache.jackrabbit.oak.api.PropertyState;
 import org.apache.jackrabbit.oak.api.Root;
@@ -34,9 +33,9 @@ import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.when;
 
-public class JcrAllUtilTest implements PrivilegeConstants {
+import java.util.List;
 
-    private static final Long ALL = Long.MAX_VALUE;
+public class JcrAllUtilTest implements PrivilegeConstants {
 
     private static final PropertyState ALL_PROPERTY = PropertyStates.createProperty(REP_BITS, Longs.asList(Long.MAX_VALUE), Type.LONGS);
     private final PrivilegeBits ALL_BITS = PrivilegeBits.getInstance(ALL_PROPERTY);
@@ -120,13 +119,13 @@ public class JcrAllUtilTest implements PrivilegeConstants {
     @Test
     public void testDenotesDynamicAllNotLongsPropertyState() {
         assertFalse(JcrAllUtil.denotesDynamicJcrAll(PropertyStates.createProperty("any", "String")));
-        assertFalse(JcrAllUtil.denotesDynamicJcrAll(PropertyStates.createProperty("any",  Lists.newArrayList("mv", "strings"), Type.STRINGS)));
+        assertFalse(JcrAllUtil.denotesDynamicJcrAll(PropertyStates.createProperty("any",  List.of("mv", "strings"), Type.STRINGS)));
         assertFalse(JcrAllUtil.denotesDynamicJcrAll(PropertyStates.createProperty("any", "-1")));
     }
 
     @Test
     public void testDenotesDynamicAllMVLongPropertyState() {
-        assertFalse(JcrAllUtil.denotesDynamicJcrAll(PropertyStates.createProperty("any", Lists.newArrayList(-1, 2, 3), Type.LONGS)));
+        assertFalse(JcrAllUtil.denotesDynamicJcrAll(PropertyStates.createProperty("any", List.of(-1, 2, 3), Type.LONGS)));
     }
 
     @Test
@@ -136,6 +135,6 @@ public class JcrAllUtilTest implements PrivilegeConstants {
 
     @Test
     public void testDenotesDynamicAll() {
-        assertTrue(JcrAllUtil.denotesDynamicJcrAll(PropertyStates.createProperty("any", Lists.newArrayList(DYNAMIC_JCR_ALL_VALUE), Type.LONGS)));
+        assertTrue(JcrAllUtil.denotesDynamicJcrAll(PropertyStates.createProperty("any", List.of(DYNAMIC_JCR_ALL_VALUE), Type.LONGS)));
     }
 }
\ No newline at end of file
diff --git a/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/xml/ReferenceChangeTrackerTest.java b/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/xml/ReferenceChangeTrackerTest.java
index 29ba1336fa..fa0b1ace5c 100644
--- a/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/xml/ReferenceChangeTrackerTest.java
+++ b/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/xml/ReferenceChangeTrackerTest.java
@@ -18,13 +18,14 @@ package org.apache.jackrabbit.oak.spi.xml;
 
 import org.apache.jackrabbit.guava.common.collect.ImmutableList;
 import org.apache.jackrabbit.guava.common.collect.Iterators;
-import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
+import java.util.List;
+
 public class ReferenceChangeTrackerTest {
 
     private final ReferenceChangeTracker rct = new ReferenceChangeTracker();
@@ -50,11 +51,11 @@ public class ReferenceChangeTrackerTest {
         rct.processedReference("ref");
         rct.processedReference("ref2");
 
-        assertTrue(Iterators.elementsEqual(Lists.newArrayList("ref", "ref2").iterator(), rct.getProcessedReferences()));
+        assertTrue(Iterators.elementsEqual(List.of("ref", "ref2").iterator(), rct.getProcessedReferences()));
 
         rct.removeReferences(ImmutableList.of("ref"));
 
-        assertTrue(Iterators.elementsEqual(Lists.newArrayList("ref2").iterator(), rct.getProcessedReferences()));
+        assertTrue(Iterators.elementsEqual(List.of("ref2").iterator(), rct.getProcessedReferences()));
     }
 
 }
\ No newline at end of file
diff --git a/oak-segment-aws/src/test/java/org/apache/jackrabbit/oak/segment/aws/AwsArchiveManagerTest.java b/oak-segment-aws/src/test/java/org/apache/jackrabbit/oak/segment/aws/AwsArchiveManagerTest.java
index 6b6593f1bb..e4f8286813 100644
--- a/oak-segment-aws/src/test/java/org/apache/jackrabbit/oak/segment/aws/AwsArchiveManagerTest.java
+++ b/oak-segment-aws/src/test/java/org/apache/jackrabbit/oak/segment/aws/AwsArchiveManagerTest.java
@@ -16,7 +16,7 @@
  */
 package org.apache.jackrabbit.oak.segment.aws;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.junit.Assert.assertEquals;
 
 import java.io.File;
@@ -93,7 +93,7 @@ public class AwsArchiveManagerTest {
 
         LinkedHashMap<UUID, byte[]> recovered = new LinkedHashMap<>();
         manager.recoverEntries("data00000a.tar", recovered);
-        assertEquals(uuids.subList(0, 5), newArrayList(recovered.keySet()));
+        assertEquals(uuids.subList(0, 5), NAL(recovered.keySet()));
     }
 
     @Test
diff --git a/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/tool/ToolUtils.java b/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/tool/ToolUtils.java
index 172b7b2dcc..3f4cd323c7 100644
--- a/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/tool/ToolUtils.java
+++ b/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/tool/ToolUtils.java
@@ -18,7 +18,7 @@
  */
 package org.apache.jackrabbit.oak.segment.azure.tool;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.oak.segment.azure.util.AzureConfigurationParserUtils.KEY_ACCOUNT_NAME;
 import static org.apache.jackrabbit.oak.segment.azure.util.AzureConfigurationParserUtils.KEY_DIR;
 import static org.apache.jackrabbit.oak.segment.azure.util.AzureConfigurationParserUtils.KEY_SHARED_ACCESS_SIGNATURE;
@@ -197,7 +197,7 @@ public class ToolUtils {
                 try (JournalReader journalReader = new JournalReader(journal)) {
                     Iterator<String> revisionIterator = Iterators.transform(journalReader,
                          entry -> entry.getRevision());
-                    return newArrayList(revisionIterator);
+                    return NAL(revisionIterator);
                 } catch (Exception e) {
                     log.error("Error while reading from journal file");
                     e.printStackTrace();
@@ -205,7 +205,7 @@ public class ToolUtils {
             }
         }
 
-        return newArrayList();
+        return new ArrayList<>();
     }
 
     public static SegmentStoreType storeTypeFromPathOrUri(String pathOrUri) {
diff --git a/oak-segment-azure/src/test/java/org/apache/jackrabbit/oak/segment/azure/AzureArchiveManagerTest.java b/oak-segment-azure/src/test/java/org/apache/jackrabbit/oak/segment/azure/AzureArchiveManagerTest.java
index fd1266905e..ff090dc6b2 100644
--- a/oak-segment-azure/src/test/java/org/apache/jackrabbit/oak/segment/azure/AzureArchiveManagerTest.java
+++ b/oak-segment-azure/src/test/java/org/apache/jackrabbit/oak/segment/azure/AzureArchiveManagerTest.java
@@ -70,7 +70,7 @@ import java.util.List;
 import java.util.UUID;
 import java.util.concurrent.TimeoutException;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.hamcrest.CoreMatchers.equalTo;
 import static org.hamcrest.CoreMatchers.nullValue;
 import static org.hamcrest.MatcherAssert.assertThat;
@@ -128,7 +128,7 @@ public class AzureArchiveManagerTest {
 
         LinkedHashMap<UUID, byte[]> recovered = new LinkedHashMap<>();
         manager.recoverEntries("data00000a.tar", recovered);
-        assertEquals(uuids.subList(0, 5), newArrayList(recovered.keySet()));
+        assertEquals(uuids.subList(0, 5), NAL(recovered.keySet()));
     }
 
     @Test
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/ClassicCompactor.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/ClassicCompactor.java
index b10517f972..a4b5b73e8d 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/ClassicCompactor.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/ClassicCompactor.java
@@ -18,7 +18,7 @@
 package org.apache.jackrabbit.oak.segment;
 
 import static java.util.Objects.requireNonNull;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.oak.api.Type.BINARIES;
 import static org.apache.jackrabbit.oak.api.Type.BINARY;
 import static org.apache.jackrabbit.oak.plugins.memory.BinaryPropertyState.binaryProperty;
@@ -245,7 +245,7 @@ public class ClassicCompactor extends Compactor {
             compactionMonitor.onBinary();
             return binaryProperty(name, property.getValue(Type.BINARY));
         } else if (type == BINARIES) {
-            List<Blob> blobs = newArrayList();
+            List<Blob> blobs = new ArrayList<>();
             for (Blob blob : property.getValue(BINARIES)) {
                 compactionMonitor.onBinary();
                 blobs.add(blob);
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/DefaultSegmentWriter.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/DefaultSegmentWriter.java
index 388d3fdb1d..ba91307eaa 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/DefaultSegmentWriter.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/DefaultSegmentWriter.java
@@ -30,8 +30,8 @@ import static org.apache.jackrabbit.guava.common.base.Preconditions.checkElement
 import static org.apache.jackrabbit.guava.common.base.Preconditions.checkPositionIndex;
 import static org.apache.jackrabbit.guava.common.base.Preconditions.checkPositionIndexes;
 import static org.apache.jackrabbit.guava.common.collect.Iterables.addAll;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayListWithExpectedSize;
+
+import static org.apache.jackrabbit.guava.common.collect.Lists.NALWithExpectedSize;
 import static org.apache.jackrabbit.guava.common.io.ByteStreams.read;
 import static org.apache.jackrabbit.oak.api.Type.BINARIES;
 import static org.apache.jackrabbit.oak.api.Type.BINARY;
@@ -310,7 +310,7 @@ public class DefaultSegmentWriter implements SegmentWriter {
                 }
             }
 
-            List<MapEntry> entries = newArrayList();
+            List<MapEntry> entries = new ArrayList<>();
             for (Map.Entry<String, RecordId> entry : changes.entrySet()) {
                 String key = entry.getKey();
 
@@ -432,7 +432,7 @@ public class DefaultSegmentWriter implements SegmentWriter {
                 return writeMapBucket(null, null, level);
             } else {
                 // combine all remaining entries into a leaf record
-                List<MapEntry> list = newArrayList();
+                List<MapEntry> list = new ArrayList<>();
                 for (MapRecord bucket : buckets) {
                     if (bucket != null) {
                         addAll(list, bucket.getEntries());
@@ -457,7 +457,7 @@ public class DefaultSegmentWriter implements SegmentWriter {
             checkArgument(!list.isEmpty());
             List<RecordId> thisLevel = list;
             while (thisLevel.size() > 1) {
-                List<RecordId> nextLevel = newArrayList();
+                List<RecordId> nextLevel = new ArrayList<>();
                 for (List<RecordId> bucket : CollectionUtils.partitionList(thisLevel, ListRecord.LEVEL_SIZE)) {
                     if (bucket.size() > 1) {
                         nextLevel.add(writeListBucket(bucket));
@@ -481,12 +481,12 @@ public class DefaultSegmentWriter implements SegmentWriter {
             int shift = 32 - (level + 1) * MapRecord.BITS_PER_LEVEL;
 
             List<List<MapEntry>> buckets =
-                    newArrayList(nCopies(MapRecord.BUCKETS_PER_LEVEL, (List<MapEntry>) null));
+                    NAL(nCopies(MapRecord.BUCKETS_PER_LEVEL, (List<MapEntry>) null));
             for (MapEntry entry : entries) {
                 int index = (entry.getHash() >> shift) & mask;
                 List<MapEntry> bucket = buckets.get(index);
                 if (bucket == null) {
-                    bucket = newArrayList();
+                    bucket = new ArrayList<>();
                     buckets.set(index, bucket);
                 }
                 bucket.add(entry);
@@ -528,7 +528,7 @@ public class DefaultSegmentWriter implements SegmentWriter {
             }
 
             int pos = 0;
-            List<RecordId> blockIds = newArrayListWithExpectedSize(
+            List<RecordId> blockIds = NALWithExpectedSize(
                     data.length / SegmentStream.BLOCK_SIZE + 1);
 
             // write as many full bulk segments as possible
@@ -684,7 +684,7 @@ public class DefaultSegmentWriter implements SegmentWriter {
             n += read(stream, data, n, Segment.MAX_SEGMENT_SIZE - n);
             long length = n;
             List<RecordId> blockIds =
-                    newArrayListWithExpectedSize(2 * n / SegmentStream.BLOCK_SIZE);
+                    NALWithExpectedSize(2 * n / SegmentStream.BLOCK_SIZE);
 
             // Write the data to bulk segments and collect the list of block ids
             while (n != 0) {
@@ -715,7 +715,7 @@ public class DefaultSegmentWriter implements SegmentWriter {
             Type<?> type = state.getType();
             int count = state.count();
 
-            List<RecordId> valueIds = newArrayList();
+            List<RecordId> valueIds = new ArrayList<>();
             for (int i = 0; i < count; i++) {
                 if (type.tag() == PropertyType.BINARY) {
                     try {
@@ -753,7 +753,7 @@ public class DefaultSegmentWriter implements SegmentWriter {
                 return id; // shortcut if the same template was recently stored
             }
 
-            Collection<RecordId> ids = newArrayList();
+            Collection<RecordId> ids = new ArrayList<>();
             int head = 0;
 
             RecordId primaryId = null;
@@ -768,7 +768,7 @@ public class DefaultSegmentWriter implements SegmentWriter {
             PropertyState mixinTypes = template.getMixinTypes();
             if (mixinTypes != null) {
                 head |= 1 << 30;
-                mixinIds = newArrayList();
+                mixinIds = new ArrayList<>();
                 for (String mixin : mixinTypes.getValue(NAMES)) {
                     mixinIds.add(writeString(mixin));
                 }
@@ -865,7 +865,7 @@ public class DefaultSegmentWriter implements SegmentWriter {
                 beforeTemplate = before.getTemplate();
             }
 
-            List<RecordId> ids = newArrayList();
+            List<RecordId> ids = new ArrayList<>();
             Template template = new Template(reader, state);
             if (template.equals(beforeTemplate)) {
                 ids.add(before.getTemplateId());
@@ -880,7 +880,7 @@ public class DefaultSegmentWriter implements SegmentWriter {
                 ids.add(writeNode(state.getChildNode(template.getChildName()), null));
             }
 
-            List<RecordId> pIds = newArrayList();
+            List<RecordId> pIds = new ArrayList<>();
             for (PropertyTemplate pt : template.getPropertyTemplates()) {
                 String name = pt.getName();
                 PropertyState property = state.getProperty(name);
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/MutableSegmentReferences.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/MutableSegmentReferences.java
index bbb1b83028..f9a58b58f6 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/MutableSegmentReferences.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/MutableSegmentReferences.java
@@ -16,7 +16,7 @@
  */
 package org.apache.jackrabbit.oak.segment;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 
 import java.util.HashMap;
 import java.util.Iterator;
@@ -32,7 +32,7 @@ class MutableSegmentReferences implements SegmentReferences {
 
     private final Object lock = new Object();
 
-    private final List<SegmentId> ids = newArrayList();
+    private final List<SegmentId> ids = new ArrayList<>();
 
     private final Map<SegmentId, Integer> numbers = new HashMap<>();
 
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentBufferWriterPool.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentBufferWriterPool.java
index 0a574cb230..15d28c7178 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentBufferWriterPool.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentBufferWriterPool.java
@@ -19,7 +19,7 @@
 package org.apache.jackrabbit.oak.segment;
 
 import static java.util.Objects.requireNonNull;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 
 import static java.lang.Thread.currentThread;
 
@@ -210,8 +210,8 @@ public abstract class SegmentBufferWriterPool implements WriteOperationHandler {
 
         @Override
         public void flush(@NotNull SegmentStore store) throws IOException {
-            List<SegmentBufferWriter> toFlush = newArrayList();
-            List<SegmentBufferWriter> toReturn = newArrayList();
+            List<SegmentBufferWriter> toFlush = new ArrayList<>();
+            List<SegmentBufferWriter> toReturn = new ArrayList<>();
 
             poolMonitor.enter();
             try {
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentIdTable.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentIdTable.java
index 0ec87d1d50..300fca87cf 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentIdTable.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentIdTable.java
@@ -18,7 +18,7 @@
  */
 package org.apache.jackrabbit.oak.segment;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static java.util.Collections.nCopies;
 
 import java.lang.ref.WeakReference;
@@ -60,7 +60,7 @@ public class SegmentIdTable {
      * entries would be slower).
      */
     private final ArrayList<WeakReference<SegmentId>> references =
-            newArrayList(nCopies(1024, (WeakReference<SegmentId>) null));
+            NAL(nCopies(1024, (WeakReference<SegmentId>) null));
 
     private static final Logger LOG = LoggerFactory.getLogger(SegmentIdTable.class);
 
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentParser.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentParser.java
index 71e72c027f..35f4244c2f 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentParser.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentParser.java
@@ -22,7 +22,7 @@ package org.apache.jackrabbit.oak.segment;
 import static java.util.Collections.singletonList;
 import static java.util.Objects.requireNonNull;
 import static org.apache.jackrabbit.oak.commons.conditions.Validate.checkArgument;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.oak.api.Type.BINARY;
 import static org.apache.jackrabbit.oak.segment.ListRecord.LEVEL_SIZE;
 import static org.apache.jackrabbit.oak.segment.Segment.MEDIUM_LIMIT;
@@ -765,7 +765,7 @@ public class SegmentParser {
             }
             return new ListBucketInfo(listId, true, entries, count * RECORD_ID_BYTES);
         } else {
-            entries = newArrayList();
+            entries = new ArrayList<>();
             while (count > 0) {
                 int bucketIndex = index / bucketSize;
                 int bucketOffset = index % bucketSize;
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/Template.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/Template.java
index 511e401a1d..39654c4dc8 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/Template.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/Template.java
@@ -113,7 +113,7 @@ public class Template {
         requireNonNull(state);
         PropertyState primary = null;
         PropertyState mixins = null;
-        List<PropertyTemplate> templates = Lists.newArrayList();
+        List<PropertyTemplate> templates = new ArrayList<>();
 
         for (PropertyState property : state.getProperties()) {
             String name = property.getName();
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileReaper.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileReaper.java
index 5312eeabf3..5d98586dae 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileReaper.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileReaper.java
@@ -17,7 +17,7 @@
 
 package org.apache.jackrabbit.oak.segment.file;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 
 import java.util.HashSet;
 import java.util.List;
@@ -71,7 +71,7 @@ public class FileReaper {
         }
 
         Set<String> redo = new HashSet<>();
-        List<String> removed = newArrayList();
+        List<String> removed = new ArrayList<>();
         for (String file : reap) {
             if (archiveManager.delete(file)) {
                 removed.add(file);
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FullSizeDeltaEstimationStrategy.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FullSizeDeltaEstimationStrategy.java
index 32e17a7c7f..8c48e593de 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FullSizeDeltaEstimationStrategy.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FullSizeDeltaEstimationStrategy.java
@@ -19,7 +19,7 @@
 
 package org.apache.jackrabbit.oak.segment.file;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static java.lang.String.format;
 import static org.apache.jackrabbit.oak.segment.file.PrintableBytes.newPrintableBytes;
 
@@ -90,7 +90,7 @@ class FullSizeDeltaEstimationStrategy implements EstimationStrategy {
     }
 
     private boolean previousIsTail(Context context) {
-        List<GCJournalEntry> entries = newArrayList(context.getGCJournal().readAll());
+        List<GCJournalEntry> entries = NAL(context.getGCJournal().readAll());
         if (entries.isEmpty()) {
             // We should not get here but if we do the condition is vacuously true
             return true;
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/proc/CommitNode.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/proc/CommitNode.java
index 8e5874dbe6..1c36bfdb28 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/proc/CommitNode.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/proc/CommitNode.java
@@ -50,7 +50,7 @@ class CommitNode extends AbstractNode {
     }
 
     private Iterable<PropertyState> getProperties(Commit entry) {
-        return Lists.newArrayList(
+        return List.of(
             PropertyStates.createProperty("timestamp", entry.getTimestamp(), Type.LONG),
             PropertyStates.createProperty("revision", entry.getRevision())
         );
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/TarFiles.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/TarFiles.java
index 2ecedc5738..c7f6529400 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/TarFiles.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/TarFiles.java
@@ -18,7 +18,7 @@ package org.apache.jackrabbit.oak.segment.file.tar;
 
 import static org.apache.jackrabbit.oak.commons.conditions.Validate.checkArgument;
 import static java.util.Objects.requireNonNull;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 
 
 import static java.util.Collections.emptySet;
@@ -497,7 +497,7 @@ public class TarFiles implements Closeable {
             lock.readLock().unlock();
         }
 
-        return String.format("TarFiles{readers=%s,writer=%s}", newArrayList(iterable(head)), w);
+        return String.format("TarFiles{readers=%s,writer=%s}", NAL(iterable(head)), w);
     }
 
     public long size() {
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/TarReader.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/TarReader.java
index 3bc36a3f5f..3adc13988e 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/TarReader.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/TarReader.java
@@ -18,7 +18,7 @@
  */
 package org.apache.jackrabbit.oak.segment.file.tar;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static java.util.Collections.singletonList;
 import static org.apache.jackrabbit.oak.segment.file.tar.GCGeneration.newGCGeneration;
 
@@ -86,7 +86,7 @@ public class TarReader implements Closeable {
         SortedMap<Character, String> sorted = new TreeMap<>();
         sorted.putAll(files);
 
-        List<String> list = newArrayList(sorted.values());
+        List<String> list = NAL(sorted.values());
         Collections.reverse(list);
 
         TarReader reader = openFirstFileWithValidIndex(list, archiveManager);
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/DefaultStandbyReferencesReader.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/DefaultStandbyReferencesReader.java
index 592a6c0521..36b5febdfe 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/DefaultStandbyReferencesReader.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/DefaultStandbyReferencesReader.java
@@ -17,7 +17,7 @@
 
 package org.apache.jackrabbit.oak.segment.standby.server;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 
 import java.util.List;
 import java.util.UUID;
@@ -45,7 +45,7 @@ class DefaultStandbyReferencesReader implements StandbyReferencesReader {
         if (store.containsSegment(segmentId)) {
             Segment segment = store.readSegment(segmentId);
 
-            List<String> references = newArrayList();
+            List<String> references = new ArrayList<>();
 
             for (int i = 0; i < segment.getReferencedSegmentIdCount(); i++) {
                 references.add(segment.getReferencedSegmentId(i).toString());
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/DebugStore.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/DebugStore.java
index 3212feada4..972a6c80b2 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/DebugStore.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/DebugStore.java
@@ -18,7 +18,7 @@
 package org.apache.jackrabbit.oak.segment.tool;
 
 import static java.util.Objects.requireNonNull;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.commons.io.FileUtils.byteCountToDisplaySize;
 import static org.apache.jackrabbit.oak.segment.RecordType.NODE;
 import static org.apache.jackrabbit.oak.segment.tool.Utils.openReadOnlyFileStore;
@@ -174,7 +174,7 @@ public class DebugStore {
     }
 
     private static void analyseSegment(final Segment segment, final RecordUsageAnalyser analyser) {
-        final List<RecordId> ids = newArrayList();
+        final List<RecordId> ids = new ArrayList<>();
 
         segment.forEachRecord((number, type, offset) -> {
             if (type == NODE) {
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/Utils.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/Utils.java
index d9d39cb0e2..3784fc1b9d 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/Utils.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/Utils.java
@@ -18,7 +18,7 @@
 package org.apache.jackrabbit.oak.segment.tool;
 
 import static org.apache.jackrabbit.oak.commons.conditions.Validate.checkArgument;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
 
 import java.io.File;
@@ -76,13 +76,13 @@ public final class Utils {
             try (JournalReader journalReader = new JournalReader(journal)) {
                 Iterator<String> revisionIterator = Iterators.transform(journalReader,
                         entry -> entry.getRevision());
-                return newArrayList(revisionIterator);
+                return NAL(revisionIterator);
             } catch (Exception e) {
                 e.printStackTrace();
             }
         }
 
-        return newArrayList();
+        return new ArrayList<>();
     }
 
     private static File isValidFileStoreOrFail(File store) {
diff --git a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/ClassicCompactorTest.java b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/ClassicCompactorTest.java
index fc922aff4c..8def54088e 100644
--- a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/ClassicCompactorTest.java
+++ b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/ClassicCompactorTest.java
@@ -18,7 +18,7 @@
 
 package org.apache.jackrabbit.oak.segment;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.oak.plugins.memory.MultiBinaryPropertyState.binaryPropertyFromBlob;
 import static org.apache.jackrabbit.oak.segment.DefaultSegmentWriterBuilder.defaultSegmentWriterBuilder;
 import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
@@ -174,7 +174,7 @@ public class ClassicCompactorTest {
     }
 
     private static List<Blob> createBlobs(NodeStore nodeStore, int... sizes) throws IOException {
-        List<Blob> blobs = newArrayList();
+        List<Blob> blobs = new ArrayList<>();
         for (int size : sizes) {
             blobs.add(createBlob(nodeStore, size));
         }
diff --git a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CommitsTrackerTest.java b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CommitsTrackerTest.java
index e26fb8456a..355d8cb613 100644
--- a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CommitsTrackerTest.java
+++ b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CommitsTrackerTest.java
@@ -19,7 +19,7 @@
 
 package org.apache.jackrabbit.oak.segment;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static java.lang.Math.min;
 import static org.apache.jackrabbit.oak.segment.file.tar.GCGeneration.newGCGeneration;
 import static org.junit.Assert.assertEquals;
@@ -79,7 +79,7 @@ public class CommitsTrackerTest {
         final int OTHER_WRITERS_LIMIT = 10;
         CommitsTracker commitsTracker = new CommitsTracker(new String[] {}, OTHER_WRITERS_LIMIT);
 
-        List<CommitTask> queued = newArrayList();
+        List<CommitTask> queued = new ArrayList<>();
         for (int k = 0; k < 20; k++) {
             CommitTask commitTask = new CommitTask(commitsTracker, newGCGeneration(k, k, false));
             queued.add(commitTask);
@@ -90,7 +90,7 @@ public class CommitsTrackerTest {
             assertTrue(commitsTracker.getCommitsCountPerGroupLastMinute().isEmpty());
         }
 
-        List<CommitTask> executed = newArrayList();
+        List<CommitTask> executed = new ArrayList<>();
         for (int k = 0; k < OTHER_WRITERS_LIMIT + 3; k++) {
             CommitTask commitTask = queued.remove(0);
             executed.add(commitTask);
diff --git a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CompactionAndCleanupIT.java b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CompactionAndCleanupIT.java
index 4082e2c4d3..83ace7201d 100644
--- a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CompactionAndCleanupIT.java
+++ b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CompactionAndCleanupIT.java
@@ -19,7 +19,7 @@
 
 package org.apache.jackrabbit.oak.segment;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 
 import static org.apache.jackrabbit.guava.common.util.concurrent.Uninterruptibles.awaitUninterruptibly;
 import static org.apache.jackrabbit.guava.common.util.concurrent.Uninterruptibles.sleepUninterruptibly;
@@ -665,7 +665,7 @@ public class CompactionAndCleanupIT {
 
 
         final AtomicReference<Boolean> run = new AtomicReference<Boolean>(true);
-        final List<Exception> failedCommits = newArrayList();
+        final List<Exception> failedCommits = new ArrayList<>();
         Thread[] threads = new Thread[10];
         for (int k = 0; k < threads.length; k++) {
             final int threadId = k;
@@ -1218,7 +1218,7 @@ public class CompactionAndCleanupIT {
                 }
             };
 
-            List<Future<?>> results = newArrayList();
+            List<Future<?>> results = new ArrayList<>();
             for (int i = 0; i < 5; i++) {
                 results.add(executorService.submit(concurrentWriteTask));
             }
@@ -1274,7 +1274,7 @@ public class CompactionAndCleanupIT {
                 }
             };
 
-            List<Future<?>> results = newArrayList();
+            List<Future<?>> results = new ArrayList<>();
             for (int i = 0; i < 100; i++) {
                 results.add(executorService.submit(concurrentWriteTask));
             }
@@ -1338,7 +1338,7 @@ public class CompactionAndCleanupIT {
                 }
             };
 
-            List<Future<?>> results = newArrayList();
+            List<Future<?>> results = new ArrayList<>();
             for (int i = 0; i < 100; i++) {
                 results.add(executorService.submit(concurrentWriteTask));
                 results.add(executorService.submit(concurrentCleanupTask));
@@ -1390,7 +1390,7 @@ public class CompactionAndCleanupIT {
                 }
             };
 
-            List<Future<?>> results = newArrayList();
+            List<Future<?>> results = new ArrayList<>();
             for (int i = 0; i < 50; i++) {
                 if (i % 2 == 0) {
                     results.add(executorService.submit(concurrentWriteTask));
diff --git a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CompactorTestUtils.java b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CompactorTestUtils.java
index 89aa792477..596453cd68 100644
--- a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CompactorTestUtils.java
+++ b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CompactorTestUtils.java
@@ -18,7 +18,7 @@
 
 package org.apache.jackrabbit.oak.segment;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.oak.plugins.memory.MultiBinaryPropertyState.binaryPropertyFromBlob;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
@@ -107,7 +107,7 @@ public class CompactorTestUtils {
     }
 
     public static List<Blob> createBlobs(NodeStore nodeStore, int... sizes) throws IOException {
-        List<Blob> blobs = newArrayList();
+        List<Blob> blobs = new ArrayList<>();
         for (int size : sizes) {
             blobs.add(createBlob(nodeStore, size));
         }
diff --git a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/DefaultSegmentWriterTest.java b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/DefaultSegmentWriterTest.java
index da70747173..ad1f21d613 100644
--- a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/DefaultSegmentWriterTest.java
+++ b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/DefaultSegmentWriterTest.java
@@ -18,7 +18,7 @@
  */
 package org.apache.jackrabbit.oak.segment;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 
 import static org.apache.jackrabbit.oak.segment.DefaultSegmentWriterBuilder.defaultSegmentWriterBuilder;
 import static org.apache.jackrabbit.oak.segment.ListRecord.LEVEL_SIZE;
@@ -182,7 +182,7 @@ public class DefaultSegmentWriterTest {
 
     @Test
     public void testListWithLotsOfReferences() throws IOException { // OAK-1184
-        List<RecordId> list = newArrayList();
+        List<RecordId> list = new ArrayList<>();
         for (int i = 0; i < 1000; i++) {
             list.add(new RecordId(store.fileStore().getSegmentIdProvider().newBulkSegmentId(), 0));
         }
diff --git a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/ExternalBlobIT.java b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/ExternalBlobIT.java
index 2724b61d4c..0130ada447 100644
--- a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/ExternalBlobIT.java
+++ b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/ExternalBlobIT.java
@@ -123,7 +123,7 @@ public class ExternalBlobIT {
         cb.setProperty("anotherBlob3", createBlob(Segment.MEDIUM_LIMIT + 1));
         nodeStore.merge(nb, EmptyHook.INSTANCE, CommitInfo.EMPTY);
 
-        final List<String> references = Lists.newArrayList();
+        final List<String> references = new ArrayList<>();
         store.collectBlobReferences(reference -> {
                 assertNotNull(reference);
                 references.add(reference);
diff --git a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/MutableSegmentReferencesTest.java b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/MutableSegmentReferencesTest.java
index e160ae29e2..26b9c47b4e 100644
--- a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/MutableSegmentReferencesTest.java
+++ b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/MutableSegmentReferencesTest.java
@@ -18,7 +18,7 @@
 package org.apache.jackrabbit.oak.segment;
 
 import static org.apache.jackrabbit.guava.common.collect.Iterables.elementsEqual;
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
@@ -100,7 +100,7 @@ public class MutableSegmentReferencesTest {
         MemoryStore store = new MemoryStore();
         SegmentId first = store.getSegmentIdProvider().newDataSegmentId();
         SegmentId second = store.getSegmentIdProvider().newDataSegmentId();
-        List<SegmentId> ids = newArrayList(first, second);
+        List<SegmentId> ids = NAL(first, second);
 
         MutableSegmentReferences table = new MutableSegmentReferences();
         table.addOrReference(first);
diff --git a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/RecordTest.java b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/RecordTest.java
index 9b74c65f39..80f7abf55f 100644
--- a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/RecordTest.java
+++ b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/RecordTest.java
@@ -18,7 +18,7 @@
  */
 package org.apache.jackrabbit.oak.segment;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static java.lang.Math.min;
 import static java.util.Collections.singletonList;
 import static org.apache.jackrabbit.oak.api.Type.BINARIES;
@@ -180,7 +180,7 @@ public class RecordTest {
         random.nextBytes(data);
 
         // create enough copies of the value to fill a full segment
-        List<Blob> blobs = newArrayList();
+        List<Blob> blobs = new ArrayList<>();
         while (blobs.size() * data.length < Segment.MAX_SEGMENT_SIZE) {
             blobs.add(new SegmentBlob(store.getBlobStore(), writer.writeStream(new ByteArrayInputStream(data))));
         }
diff --git a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentBufferWriterTest.java b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentBufferWriterTest.java
index 95b761f8b9..ed99d73e23 100644
--- a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentBufferWriterTest.java
+++ b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentBufferWriterTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.jackrabbit.oak.segment;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.oak.segment.DefaultSegmentWriterBuilder.defaultSegmentWriterBuilder;
 import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
 import static org.junit.Assert.assertEquals;
@@ -56,7 +56,7 @@ public class SegmentBufferWriterTest {
             // init
         }
         try (ReadOnlyFileStore store = openReadOnlyFileStore()) {
-            before = newArrayList(store.getSegmentIds());
+            before = NAL(store.getSegmentIds());
         }
 
         try (FileStore store = openFileStore()) {
@@ -66,7 +66,7 @@ public class SegmentBufferWriterTest {
         List<SegmentId> after;
 
         try (ReadOnlyFileStore store = openReadOnlyFileStore()) {
-            after = newArrayList(store.getSegmentIds());
+            after = NAL(store.getSegmentIds());
         }
 
         assertEquals(before, after);
@@ -80,7 +80,7 @@ public class SegmentBufferWriterTest {
             // init
         }
         try (ReadOnlyFileStore store = openReadOnlyFileStore()) {
-            before = newArrayList(store.getSegmentIds());
+            before = NAL(store.getSegmentIds());
         }
 
         try (FileStore store = openFileStore()) {
@@ -92,7 +92,7 @@ public class SegmentBufferWriterTest {
         List<SegmentId> after;
 
         try (ReadOnlyFileStore store = openReadOnlyFileStore()) {
-            after = newArrayList(store.getSegmentIds());
+            after = NAL(store.getSegmentIds());
         }
 
         assertNotEquals(before, after);
diff --git a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentDataStoreBlobGCIT.java b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentDataStoreBlobGCIT.java
index b2d583ec5c..6522ba958b 100644
--- a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentDataStoreBlobGCIT.java
+++ b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentDataStoreBlobGCIT.java
@@ -181,7 +181,7 @@ public class SegmentDataStoreBlobGCIT {
         /* Create and delete nodes with blobs stored in DS*/
         int maxDeleted  = 5;
         int numBlobs = count;
-        List<Integer> processed = Lists.newArrayList();
+        List<Integer> processed = new ArrayList<>();
         Random rand = new Random();
         for (int i = 0; i < maxDeleted; i++) {
             int n = rand.nextInt(numBlobs);
@@ -239,7 +239,7 @@ public class SegmentDataStoreBlobGCIT {
 
     private HashSet<String> addNodeSpecialChars() throws Exception {
         List<String> specialCharSets =
-            Lists.newArrayList("q\\%22afdg\\%22", "a\nbcd", "a\n\rabcd", "012\\efg" );
+            List.of("q\\%22afdg\\%22", "a\nbcd", "a\n\rabcd", "012\\efg" );
         HashSet<String> set = new HashSet<String>();
         NodeBuilder a = nodeStore.getRoot().builder();
         for (int i = 0; i < specialCharSets.size(); i++) {
@@ -247,7 +247,7 @@ public class SegmentDataStoreBlobGCIT {
             NodeBuilder n = a.child("cspecial");
             n.child(specialCharSets.get(i)).setProperty("x", b);
             Iterator<String> idIter = blobStore.resolveChunks(b.getBlobId());
-            set.addAll(Lists.newArrayList(idIter));
+            set.addAll(List.of(idIter));
         }
         nodeStore.merge(a, EmptyHook.INSTANCE, CommitInfo.EMPTY);
         return set;
@@ -342,7 +342,7 @@ public class SegmentDataStoreBlobGCIT {
         
         // Simulate faulty state by deleting some blobs directly
         Random rand = new Random(87);
-        List<String> existing = Lists.newArrayList(state.blobsPresent);
+        List<String> existing = List.of(state.blobsPresent);
         
         long count = blobStore.countDeleteChunks(ImmutableList.of(existing.get(rand.nextInt(existing.size()))), 0);
         
diff --git a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentParserTest.java b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentParserTest.java
index 56f90bf52d..7f4c86339a 100644
--- a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentParserTest.java
+++ b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentParserTest.java
@@ -18,7 +18,7 @@
  */
 package org.apache.jackrabbit.oak.segment;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 
 import static org.apache.jackrabbit.oak.api.Type.BINARY;
 import static org.apache.jackrabbit.oak.api.Type.LONGS;
@@ -77,7 +77,7 @@ public class SegmentParserTest {
         BlobStore longIdBlobStore = mock(BlobStore.class);
         when(longIdBlobStore.writeBlob(any())).thenReturn("shortId".repeat(1000));
 
-        return newArrayList(
+        return NAL(
                 new Object[]{null, "No BlobStore"},
                 new Object[]{shortIdBlobStore, "Short Id BlobStore"},
                 new Object[]{longIdBlobStore, "Long Id BlobStore"});
diff --git a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/GcJournalTest.java b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/GcJournalTest.java
index 90bdf0bd19..d4648463bc 100644
--- a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/GcJournalTest.java
+++ b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/GcJournalTest.java
@@ -19,7 +19,7 @@
 
 package org.apache.jackrabbit.oak.segment.file;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static org.apache.jackrabbit.oak.segment.file.tar.GCGeneration.newGCGeneration;
 import static org.junit.Assert.assertEquals;
 
@@ -126,7 +126,7 @@ public class GcJournalTest {
         GCJournal gcJournal = new GCJournal(getPersistence().getGCJournalFile());
         gcJournal.persist(75, 300, newGCGeneration(3, 0, false), 125, "bar");
 
-        ArrayList<GCJournalEntry> entries = newArrayList(gcJournal.readAll());
+        ArrayList<GCJournalEntry> entries = NAL(gcJournal.readAll());
         assertEquals(2, entries.size());
 
         GCJournalEntry entry = entries.get(0);
diff --git a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/TarFileTest.java b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/TarFileTest.java
index e73979ffb4..502210c3b8 100644
--- a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/TarFileTest.java
+++ b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/TarFileTest.java
@@ -18,7 +18,7 @@
  */
 package org.apache.jackrabbit.oak.segment.file.tar;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 
 import static org.apache.jackrabbit.oak.segment.file.tar.GCGeneration.newGCGeneration;
 import static org.junit.Assert.assertEquals;
@@ -261,7 +261,7 @@ public class TarFileTest {
                 assertNotNull(swept);
 
                 Map<UUID, List<UUID>> graph = new HashMap<>();
-                graph.put(new UUID(2, 1), newArrayList(new UUID(2, 2)));
+                graph.put(new UUID(2, 1), NAL(new UUID(2, 2)));
 
                 assertEquals(graph, swept.getGraph());
             }
diff --git a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/scheduler/LockBasedSchedulerTest.java b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/scheduler/LockBasedSchedulerTest.java
index b2ccdbe45e..7de421b902 100644
--- a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/scheduler/LockBasedSchedulerTest.java
+++ b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/scheduler/LockBasedSchedulerTest.java
@@ -19,7 +19,7 @@
 
 package org.apache.jackrabbit.oak.segment.scheduler;
 
-import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
+
 import static java.util.concurrent.Executors.newFixedThreadPool;
 import static org.junit.Assert.assertNotNull;
 
@@ -92,7 +92,7 @@ public class LockBasedSchedulerTest {
                 }
             };
 
-            List<Future<?>> results = newArrayList();
+            List<Future<?>> results = new ArrayList<>();
             for (int i = 0; i < 100; i++) {
                 results.add(executorService.submit(commitTask));
                 executorService.submit(parallelTask);
diff --git a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/ResponseDecoderTest.java b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/ResponseDecoderTest.java
index 3303ca6730..09786fccea 100644
--- a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/ResponseDecoderTest.java
... 3396 lines suppressed ...