diff --git a/core-java-modules/core-java-lang-oop-generics-2/pom.xml b/core-java-modules/core-java-lang-oop-generics-2/pom.xml
new file mode 100644
index 000000000000..7666293645f9
--- /dev/null
+++ b/core-java-modules/core-java-lang-oop-generics-2/pom.xml
@@ -0,0 +1,36 @@
+
+
+ 4.0.0
+ core-java-lang-oop-generics-2
+ jar
+ core-java-lang-oop-generics-2
+
+
+ core-java-modules
+ com.baeldung.core-java-modules
+ 0.0.1-SNAPSHOT
+
+
+
+
+
+ src/main/resources
+ true
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/generics/Entry.java b/core-java-modules/core-java-lang-oop-generics-2/src/main/java/com/baeldung/generics/Entry.java
similarity index 100%
rename from core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/generics/Entry.java
rename to core-java-modules/core-java-lang-oop-generics-2/src/main/java/com/baeldung/generics/Entry.java
diff --git a/core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/generics/GenericEntry.java b/core-java-modules/core-java-lang-oop-generics-2/src/main/java/com/baeldung/generics/GenericEntry.java
similarity index 100%
rename from core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/generics/GenericEntry.java
rename to core-java-modules/core-java-lang-oop-generics-2/src/main/java/com/baeldung/generics/GenericEntry.java
diff --git a/core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/generics/MapEntry.java b/core-java-modules/core-java-lang-oop-generics-2/src/main/java/com/baeldung/generics/MapEntry.java
similarity index 100%
rename from core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/generics/MapEntry.java
rename to core-java-modules/core-java-lang-oop-generics-2/src/main/java/com/baeldung/generics/MapEntry.java
diff --git a/core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/generics/Product.java b/core-java-modules/core-java-lang-oop-generics-2/src/main/java/com/baeldung/generics/Product.java
similarity index 100%
rename from core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/generics/Product.java
rename to core-java-modules/core-java-lang-oop-generics-2/src/main/java/com/baeldung/generics/Product.java
diff --git a/core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/generics/Rankable.java b/core-java-modules/core-java-lang-oop-generics-2/src/main/java/com/baeldung/generics/Rankable.java
similarity index 100%
rename from core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/generics/Rankable.java
rename to core-java-modules/core-java-lang-oop-generics-2/src/main/java/com/baeldung/generics/Rankable.java
diff --git a/core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/holder/Holder.java b/core-java-modules/core-java-lang-oop-generics-2/src/main/java/com/baeldung/holder/Holder.java
similarity index 100%
rename from core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/holder/Holder.java
rename to core-java-modules/core-java-lang-oop-generics-2/src/main/java/com/baeldung/holder/Holder.java
diff --git a/core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/holder/SupplierService.java b/core-java-modules/core-java-lang-oop-generics-2/src/main/java/com/baeldung/holder/SupplierService.java
similarity index 100%
rename from core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/holder/SupplierService.java
rename to core-java-modules/core-java-lang-oop-generics-2/src/main/java/com/baeldung/holder/SupplierService.java
diff --git a/core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/rawtype/RawTypeDemo.java b/core-java-modules/core-java-lang-oop-generics-2/src/main/java/com/baeldung/rawtype/RawTypeDemo.java
similarity index 100%
rename from core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/rawtype/RawTypeDemo.java
rename to core-java-modules/core-java-lang-oop-generics-2/src/main/java/com/baeldung/rawtype/RawTypeDemo.java
diff --git a/core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/supertype/TypeReference.java b/core-java-modules/core-java-lang-oop-generics-2/src/main/java/com/baeldung/supertype/TypeReference.java
similarity index 100%
rename from core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/supertype/TypeReference.java
rename to core-java-modules/core-java-lang-oop-generics-2/src/main/java/com/baeldung/supertype/TypeReference.java
diff --git a/core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/uncheckedconversion/UncheckedConversion.java b/core-java-modules/core-java-lang-oop-generics-2/src/main/java/com/baeldung/uncheckedconversion/UncheckedConversion.java
similarity index 100%
rename from core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/uncheckedconversion/UncheckedConversion.java
rename to core-java-modules/core-java-lang-oop-generics-2/src/main/java/com/baeldung/uncheckedconversion/UncheckedConversion.java
diff --git a/core-java-modules/core-java-lang-oop-generics/src/test/java/com/baeldung/generics/GenericConstructorUnitTest.java b/core-java-modules/core-java-lang-oop-generics-2/src/test/java/com/baeldung/generics/GenericConstructorUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-lang-oop-generics/src/test/java/com/baeldung/generics/GenericConstructorUnitTest.java
rename to core-java-modules/core-java-lang-oop-generics-2/src/test/java/com/baeldung/generics/GenericConstructorUnitTest.java
diff --git a/core-java-modules/core-java-lang-oop-generics/src/test/java/com/baeldung/holder/SupplierServiceUnitTest.java b/core-java-modules/core-java-lang-oop-generics-2/src/test/java/com/baeldung/holder/SupplierServiceUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-lang-oop-generics/src/test/java/com/baeldung/holder/SupplierServiceUnitTest.java
rename to core-java-modules/core-java-lang-oop-generics-2/src/test/java/com/baeldung/holder/SupplierServiceUnitTest.java
diff --git a/core-java-modules/core-java-lang-oop-generics/src/test/java/com/baeldung/supertype/TypeReferenceUnitTest.java b/core-java-modules/core-java-lang-oop-generics-2/src/test/java/com/baeldung/supertype/TypeReferenceUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-lang-oop-generics/src/test/java/com/baeldung/supertype/TypeReferenceUnitTest.java
rename to core-java-modules/core-java-lang-oop-generics-2/src/test/java/com/baeldung/supertype/TypeReferenceUnitTest.java
index 24e3b698e283..ca351b470928 100644
--- a/core-java-modules/core-java-lang-oop-generics/src/test/java/com/baeldung/supertype/TypeReferenceUnitTest.java
+++ b/core-java-modules/core-java-lang-oop-generics-2/src/test/java/com/baeldung/supertype/TypeReferenceUnitTest.java
@@ -1,12 +1,12 @@
package com.baeldung.supertype;
-import org.junit.Test;
+import static org.junit.Assert.assertEquals;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.Map;
-import static org.junit.Assert.assertEquals;
+import org.junit.Test;
public class TypeReferenceUnitTest {
diff --git a/core-java-modules/core-java-lang-oop-generics/src/test/java/com/baeldung/uncheckedconversion/UncheckedConversionUnitTest.java b/core-java-modules/core-java-lang-oop-generics-2/src/test/java/com/baeldung/uncheckedconversion/UncheckedConversionUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-lang-oop-generics/src/test/java/com/baeldung/uncheckedconversion/UncheckedConversionUnitTest.java
rename to core-java-modules/core-java-lang-oop-generics-2/src/test/java/com/baeldung/uncheckedconversion/UncheckedConversionUnitTest.java
diff --git a/core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/generics/classtype/CollectionWithAndWithoutGenerics.java b/core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/classtype/CollectionWithAndWithoutGenerics.java
similarity index 94%
rename from core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/generics/classtype/CollectionWithAndWithoutGenerics.java
rename to core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/classtype/CollectionWithAndWithoutGenerics.java
index f0435559a7cf..1e82e9db0ec7 100644
--- a/core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/generics/classtype/CollectionWithAndWithoutGenerics.java
+++ b/core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/classtype/CollectionWithAndWithoutGenerics.java
@@ -1,4 +1,4 @@
-package com.baeldung.generics.classtype;
+package com.baeldung.classtype;
import java.util.ArrayList;
import java.util.List;
diff --git a/core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/generics/classtype/ContainerTypeFromReflection.java b/core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/classtype/ContainerTypeFromReflection.java
similarity index 85%
rename from core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/generics/classtype/ContainerTypeFromReflection.java
rename to core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/classtype/ContainerTypeFromReflection.java
index bca47748d32d..b428810a4c25 100644
--- a/core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/generics/classtype/ContainerTypeFromReflection.java
+++ b/core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/classtype/ContainerTypeFromReflection.java
@@ -1,4 +1,4 @@
-package com.baeldung.generics.classtype;
+package com.baeldung.classtype;
public class ContainerTypeFromReflection {
private T content;
diff --git a/core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/generics/classtype/ContainerTypeFromTypeParameter.java b/core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/classtype/ContainerTypeFromTypeParameter.java
similarity index 85%
rename from core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/generics/classtype/ContainerTypeFromTypeParameter.java
rename to core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/classtype/ContainerTypeFromTypeParameter.java
index dc28ccf13aef..73841d9175ab 100644
--- a/core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/generics/classtype/ContainerTypeFromTypeParameter.java
+++ b/core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/classtype/ContainerTypeFromTypeParameter.java
@@ -1,4 +1,4 @@
-package com.baeldung.generics.classtype;
+package com.baeldung.classtype;
public class ContainerTypeFromTypeParameter {
private Class clazz;
diff --git a/core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/generics/classtype/TypeToken.java b/core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/classtype/TypeToken.java
similarity index 90%
rename from core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/generics/classtype/TypeToken.java
rename to core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/classtype/TypeToken.java
index 3a539ba652a2..1058af07a9bb 100644
--- a/core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/generics/classtype/TypeToken.java
+++ b/core-java-modules/core-java-lang-oop-generics/src/main/java/com/baeldung/classtype/TypeToken.java
@@ -1,4 +1,4 @@
-package com.baeldung.generics.classtype;
+package com.baeldung.classtype;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
diff --git a/core-java-modules/core-java-lang-oop-generics/src/test/java/com/baeldung/classtype/GenericClassTypeUnitTest.java b/core-java-modules/core-java-lang-oop-generics/src/test/java/com/baeldung/classtype/GenericClassTypeUnitTest.java
index 85026e53de8e..874183358960 100644
--- a/core-java-modules/core-java-lang-oop-generics/src/test/java/com/baeldung/classtype/GenericClassTypeUnitTest.java
+++ b/core-java-modules/core-java-lang-oop-generics/src/test/java/com/baeldung/classtype/GenericClassTypeUnitTest.java
@@ -8,9 +8,6 @@
import org.junit.jupiter.api.Test;
-import com.baeldung.generics.classtype.ContainerTypeFromReflection;
-import com.baeldung.generics.classtype.ContainerTypeFromTypeParameter;
-import com.baeldung.generics.classtype.TypeToken;
public class GenericClassTypeUnitTest {
diff --git a/core-java-modules/pom.xml b/core-java-modules/pom.xml
index b931f8040c49..fc475154ffaf 100644
--- a/core-java-modules/pom.xml
+++ b/core-java-modules/pom.xml
@@ -177,6 +177,7 @@
core-java-lang-oop-constructors
core-java-lang-oop-patterns
core-java-lang-oop-generics
+ core-java-lang-oop-generics-2
core-java-lang-oop-modifiers
core-java-lang-oop-types
core-java-lang-oop-types-2