diff --git a/spotbugs-exclude.xml b/spotbugs-exclude.xml
index 8648b9109013..9aa2e50fbd05 100644
--- a/spotbugs-exclude.xml
+++ b/spotbugs-exclude.xml
@@ -123,9 +123,6 @@
     <Match>
         <Bug pattern="BL_BURYING_LOGIC" />
     </Match>
-    <Match>
-        <Bug pattern="OI_OPTIONAL_ISSUES_USES_IMMEDIATE_EXECUTION" />
-    </Match>
     <Match>
         <Bug pattern="PCOA_PARTIALLY_CONSTRUCTED_OBJECT_ACCESS" />
     </Match>
diff --git a/src/test/java/com/thealgorithms/searches/BreadthFirstSearchTest.java b/src/test/java/com/thealgorithms/searches/BreadthFirstSearchTest.java
index 2a32a4ddb46c..d05856dd29ad 100644
--- a/src/test/java/com/thealgorithms/searches/BreadthFirstSearchTest.java
+++ b/src/test/java/com/thealgorithms/searches/BreadthFirstSearchTest.java
@@ -53,7 +53,7 @@ public void testSearchRoot() {
 
         // check value
         Optional<Node<String>> value = bfs.search(root, expectedValue);
-        assertEquals(expectedValue, value.orElse(new Node<>("")).getValue());
+        assertEquals(expectedValue, value.orElseGet(() -> new Node<>("")).getValue());
 
         // check path
         assertArrayEquals(expectedPath.toArray(), bfs.getVisited().toArray());
@@ -65,7 +65,7 @@ public void testSearchF() {
         List<String> expectedPath = List.of("A", "B", "C", "D", "E", "F");
 
         // check value
-        Optional<Node<String>> value = Optional.of(bfs.search(root, expectedValue).orElse(new Node<>(null)));
+        Optional<Node<String>> value = Optional.of(bfs.search(root, expectedValue).orElseGet(() -> new Node<>(null)));
         assertEquals(expectedValue, value.get().getValue());
 
         // check path
diff --git a/src/test/java/com/thealgorithms/searches/DepthFirstSearchTest.java b/src/test/java/com/thealgorithms/searches/DepthFirstSearchTest.java
index af21b570fd7c..2785d48b70cf 100644
--- a/src/test/java/com/thealgorithms/searches/DepthFirstSearchTest.java
+++ b/src/test/java/com/thealgorithms/searches/DepthFirstSearchTest.java
@@ -54,7 +54,7 @@ public void testSearchRoot() {
 
         // check value
         Optional<Node<Integer>> value = dfs.recursiveSearch(root, expectedValue);
-        assertEquals(expectedValue, value.orElse(new Node<>(null)).getValue());
+        assertEquals(expectedValue, value.orElseGet(() -> new Node<>(null)).getValue());
 
         // check path
         assertArrayEquals(expectedPath.toArray(), dfs.getVisited().toArray());
@@ -67,7 +67,7 @@ public void testSearch4() {
 
         // check value
         Optional<Node<Integer>> value = dfs.recursiveSearch(root, expectedValue);
-        assertEquals(expectedValue, value.orElse(new Node<>(null)).getValue());
+        assertEquals(expectedValue, value.orElseGet(() -> new Node<>(null)).getValue());
 
         // check path
         assertArrayEquals(expectedPath.toArray(), dfs.getVisited().toArray());