diff --git a/core-java-modules/core-java-11-2/README.md b/core-java-modules/core-java-11-2/README.md
new file mode 100644
index 0000000000..f65a043819
--- /dev/null
+++ b/core-java-modules/core-java-11-2/README.md
@@ -0,0 +1,7 @@
+## Core Java 11
+
+This module contains articles about Java 11 core features
+
+### Relevant articles
+- [Guide to Java 8 Optional](https://www.baeldung.com/java-optional)
+
diff --git a/core-java-modules/core-java-11-2/pom.xml b/core-java-modules/core-java-11-2/pom.xml
new file mode 100644
index 0000000000..d20b0f23f0
--- /dev/null
+++ b/core-java-modules/core-java-11-2/pom.xml
@@ -0,0 +1,48 @@
+
+
+ 4.0.0
+ core-java-11-2
+ 0.1.0-SNAPSHOT
+ core-java-11-2
+ jar
+
+
+ com.baeldung
+ parent-modules
+ 1.0.0-SNAPSHOT
+ ../..
+
+
+
+
+ org.assertj
+ assertj-core
+ ${assertj.version}
+ test
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ ${maven-compiler-plugin.version}
+
+ ${maven.compiler.source.version}
+ ${maven.compiler.target.version}
+
+
+
+
+
+
+ 11
+ 11
+ 3.17.2
+
+
+
diff --git a/core-java-modules/core-java-optional/src/main/java/com/baeldung/optional/Modem.java b/core-java-modules/core-java-11-2/src/main/java/com/baeldung/optional/Modem.java
similarity index 100%
rename from core-java-modules/core-java-optional/src/main/java/com/baeldung/optional/Modem.java
rename to core-java-modules/core-java-11-2/src/main/java/com/baeldung/optional/Modem.java
diff --git a/core-java-modules/core-java-optional/src/main/java/com/baeldung/optional/Person.java b/core-java-modules/core-java-11-2/src/main/java/com/baeldung/optional/Person.java
similarity index 100%
rename from core-java-modules/core-java-optional/src/main/java/com/baeldung/optional/Person.java
rename to core-java-modules/core-java-11-2/src/main/java/com/baeldung/optional/Person.java
diff --git a/core-java-modules/core-java-optional/src/test/java/com/baeldung/optional/OptionalChainingUnitTest.java b/core-java-modules/core-java-11-2/src/test/java/com/baeldung/optional/OptionalChainingUnitTest.java
similarity index 96%
rename from core-java-modules/core-java-optional/src/test/java/com/baeldung/optional/OptionalChainingUnitTest.java
rename to core-java-modules/core-java-11-2/src/test/java/com/baeldung/optional/OptionalChainingUnitTest.java
index 9ef156501b..65b9e22f44 100644
--- a/core-java-modules/core-java-optional/src/test/java/com/baeldung/optional/OptionalChainingUnitTest.java
+++ b/core-java-modules/core-java-11-2/src/test/java/com/baeldung/optional/OptionalChainingUnitTest.java
@@ -7,7 +7,9 @@ import java.util.Optional;
import java.util.function.Supplier;
import java.util.stream.Stream;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
public class OptionalChainingUnitTest {
diff --git a/core-java-modules/core-java-optional/src/test/java/com/baeldung/optional/OptionalUnitTest.java b/core-java-modules/core-java-11-2/src/test/java/com/baeldung/optional/OptionalUnitTest.java
similarity index 96%
rename from core-java-modules/core-java-optional/src/test/java/com/baeldung/optional/OptionalUnitTest.java
rename to core-java-modules/core-java-11-2/src/test/java/com/baeldung/optional/OptionalUnitTest.java
index de16e9b635..1b0a2d4445 100644
--- a/core-java-modules/core-java-optional/src/test/java/com/baeldung/optional/OptionalUnitTest.java
+++ b/core-java-modules/core-java-11-2/src/test/java/com/baeldung/optional/OptionalUnitTest.java
@@ -9,7 +9,9 @@ import java.util.List;
import java.util.NoSuchElementException;
import java.util.Optional;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
public class OptionalUnitTest {
@@ -262,6 +264,12 @@ public class OptionalUnitTest {
.orElseThrow(IllegalArgumentException::new);
}
+ @Test(expected = NoSuchElementException.class)
+ public void whenNoArgOrElseThrowWorks_thenCorrect() {
+ String nullName = null;
+ String name = Optional.ofNullable(nullName).orElseThrow();
+ }
+
public String getMyDefault() {
LOG.debug("Getting default value...");
return "Default Value";
diff --git a/core-java-modules/core-java-11/pom.xml b/core-java-modules/core-java-11/pom.xml
index bbc4219eaa..2f7f5a6bcf 100644
--- a/core-java-modules/core-java-11/pom.xml
+++ b/core-java-modules/core-java-11/pom.xml
@@ -107,7 +107,7 @@
benchmarks
1.22
10.0.0
- 10.0.0
+ 3.2.4
diff --git a/core-java-modules/core-java-optional/README.md b/core-java-modules/core-java-optional/README.md
index d9d2fe813b..6c83003ea2 100644
--- a/core-java-modules/core-java-optional/README.md
+++ b/core-java-modules/core-java-optional/README.md
@@ -4,7 +4,6 @@ This module contains articles about Java Optional.
### Relevant Articles:
- [Java Optional as Return Type](https://www.baeldung.com/java-optional-return)
-- [Guide to Java 8 Optional](https://www.baeldung.com/java-optional)
- [Java Optional – orElse() vs orElseGet()](https://www.baeldung.com/java-optional-or-else-vs-or-else-get)
- [Transforming an Empty String into an Empty Optional](https://www.baeldung.com/java-empty-string-to-empty-optional)
- [Filtering a Stream of Optionals in Java](https://www.baeldung.com/java-filter-stream-of-optional)