diff --git a/core-java-lang/.gitignore b/core-java-lang/.gitignore
new file mode 100644
index 0000000000..374c8bf907
--- /dev/null
+++ b/core-java-lang/.gitignore
@@ -0,0 +1,25 @@
+*.class
+
+0.*
+
+#folders#
+/target
+/neoDb*
+/data
+/src/main/webapp/WEB-INF/classes
+*/META-INF/*
+.resourceCache
+
+# Packaged files #
+*.jar
+*.war
+*.ear
+
+# Files generated by integration tests
+backup-pom.xml
+/bin/
+/temp
+
+#IntelliJ specific
+.idea/
+*.iml
\ No newline at end of file
diff --git a/core-java-lang/pom.xml b/core-java-lang/pom.xml
new file mode 100644
index 0000000000..b13b279a03
--- /dev/null
+++ b/core-java-lang/pom.xml
@@ -0,0 +1,547 @@
+
+ 4.0.0
+ com.baeldung
+ core-java-lang
+ 0.1.0-SNAPSHOT
+ jar
+ core-java-lang
+
+
+ com.baeldung
+ parent-java
+ 0.0.1-SNAPSHOT
+ ../parent-java
+
+
+
+
+ commons-io
+ commons-io
+ ${commons-io.version}
+
+
+ org.apache.commons
+ commons-lang3
+ ${commons-lang3.version}
+
+
+ org.bouncycastle
+ bcprov-jdk15on
+ ${bouncycastle.version}
+
+
+ org.unix4j
+ unix4j-command
+ ${unix4j.version}
+
+
+ com.googlecode.grep4j
+ grep4j
+ ${grep4j.version}
+
+
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ ${jackson.version}
+
+
+ com.google.code.gson
+ gson
+ ${gson.version}
+
+
+
+ log4j
+ log4j
+ ${log4j.version}
+
+
+ org.slf4j
+ log4j-over-slf4j
+ ${org.slf4j.version}
+
+
+ org.projectlombok
+ lombok
+ ${lombok.version}
+ provided
+
+
+
+ org.assertj
+ assertj-core
+ ${assertj-core.version}
+ test
+
+
+
+ commons-codec
+ commons-codec
+ ${commons-codec.version}
+
+
+ org.javamoney
+ moneta
+ ${javamoney.moneta.version}
+
+
+ org.owasp.esapi
+ esapi
+ ${esapi.version}
+
+
+ com.sun.messaging.mq
+ fscontext
+ ${fscontext.version}
+
+
+ com.codepoetics
+ protonpack
+ ${protonpack.version}
+
+
+ one.util
+ streamex
+ ${streamex.version}
+
+
+ io.vavr
+ vavr
+ ${vavr.version}
+
+
+ org.openjdk.jmh
+ jmh-core
+ ${jmh-core.version}
+
+
+ org.openjdk.jmh
+ jmh-generator-annprocess
+ ${jmh-generator-annprocess.version}
+
+
+ org.springframework
+ spring-web
+ ${springframework.spring-web.version}
+
+
+ com.h2database
+ h2
+ ${h2database.version}
+
+
+ javax.mail
+ mail
+ ${javax.mail.version}
+
+
+
+ org.apache.tika
+ tika-core
+ ${tika.version}
+
+
+ net.sf.jmimemagic
+ jmimemagic
+ ${jmime-magic.version}
+
+
+
+ org.javassist
+ javassist
+ ${javaassist.version}
+
+
+ com.sun
+ tools
+ 1.8.0
+ system
+ ${java.home}/../lib/tools.jar
+
+
+
+
+ core-java-lang
+
+
+ src/main/resources
+ true
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+
+ **/*LiveTest.java
+ **/*IntegrationTest.java
+ **/*IntTest.java
+ **/*LongRunningUnitTest.java
+ **/*ManualTest.java
+
+ true
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ copy-dependencies
+ prepare-package
+
+ copy-dependencies
+
+
+ ${project.build.directory}/libs
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven-jar-plugin.version}
+
+
+
+ true
+ libs/
+ org.baeldung.executable.ExecutableMavenJar
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+
+
+ package
+
+ single
+
+
+ ${project.basedir}
+
+
+ org.baeldung.executable.ExecutableMavenJar
+
+
+
+ jar-with-dependencies
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ ${maven-shade-plugin.version}
+
+
+
+ shade
+
+
+ true
+
+
+ org.baeldung.executable.ExecutableMavenJar
+
+
+
+
+
+
+
+
+ com.jolira
+ onejar-maven-plugin
+ ${onejar-maven-plugin.version}
+
+
+
+ org.baeldung.executable.ExecutableMavenJar
+ true
+ ${project.build.finalName}-onejar.${project.packaging}
+
+
+ one-jar
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+ ${spring-boot-maven-plugin.version}
+
+
+
+ repackage
+
+
+ spring-boot
+ org.baeldung.executable.ExecutableMavenJar
+
+
+
+
+
+
+ org.codehaus.mojo
+ exec-maven-plugin
+ ${exec-maven-plugin.version}
+
+ java
+ com.baeldung.outofmemoryerror.OutOfMemoryGCLimitExceed
+
+ -Xmx300m
+ -XX:+UseParallelGC
+ -classpath
+
+ com.baeldung.outofmemoryerror.OutOfMemoryGCLimitExceed
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ ${maven-javadoc-plugin.version}
+
+ 1.8
+ 1.8
+
+
+
+
+
+
+
+ integration
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+
+ integration-test
+
+ test
+
+
+
+ **/*ManualTest.java
+
+
+ **/*IntegrationTest.java
+ **/*IntTest.java
+
+
+
+
+
+
+ json
+
+
+
+
+ org.codehaus.mojo
+ exec-maven-plugin
+ ${exec-maven-plugin.version}
+
+
+ run-benchmarks
+
+ none
+
+ exec
+
+
+ test
+ java
+
+ -classpath
+
+ org.openjdk.jmh.Main
+ .*
+
+
+
+
+
+
+
+
+
+
+
+ buildAgentLoader
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+ package
+
+ jar
+
+
+ agentLoader
+ target/classes
+
+
+ true
+
+ ${project.build.outputDirectory}/META-INF/MANIFEST.MF
+
+
+
+ com/baeldung/instrumentation/application/AgentLoader.class
+ com/baeldung/instrumentation/application/Launcher.class
+
+
+
+
+
+
+
+
+
+ buildApplication
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+ package
+
+ jar
+
+
+ application
+ target/classes
+
+
+ true
+
+ ${project.build.outputDirectory}/META-INF/MANIFEST.MF
+
+
+
+ com/baeldung/instrumentation/application/MyAtm.class
+ com/baeldung/instrumentation/application/MyAtmApplication.class
+ com/baeldung/instrumentation/application/Launcher.class
+
+
+
+
+
+
+
+
+
+ buildAgent
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+ package
+
+ jar
+
+
+ agent
+ target/classes
+
+
+ true
+
+ ${project.build.outputDirectory}/META-INF/MANIFEST.MF
+
+
+
+ com/baeldung/instrumentation/agent/AtmTransformer.class
+ com/baeldung/instrumentation/agent/MyInstrumentationAgent.class
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2.8.5
+ 2.8.2
+
+
+ 3.5
+ 1.55
+ 1.10
+ 2.5
+ 3.6.1
+ 1.0.3
+ 0.4
+ 1.8.7
+ 1.16.12
+ 4.6-b01
+ 1.13
+ 0.6.5
+ 0.9.0
+
+
+ 3.10.0
+
+
+ 2.21.0
+ 4.3.4.RELEASE
+
+ 1.1
+ 1.4.197
+ 2.1.0.1
+ 1.19
+
+ 1.19
+ 3.0.0-M1
+ 1.5.0-b01
+ 3.0.2
+ 1.4.4
+ 3.1.1
+ 2.0.3.RELEASE
+ 1.6.0
+ 61.1
+
+ 1.18
+ 0.1.5
+
+ 3.21.0-GA
+
+
+
diff --git a/core-java/src/main/java/com/baeldung/breakcontinue/BreakContinue.java b/core-java-lang/src/main/java/com/baeldung/breakcontinue/BreakContinue.java
similarity index 99%
rename from core-java/src/main/java/com/baeldung/breakcontinue/BreakContinue.java
rename to core-java-lang/src/main/java/com/baeldung/breakcontinue/BreakContinue.java
index ce85b487c1..23bb531273 100644
--- a/core-java/src/main/java/com/baeldung/breakcontinue/BreakContinue.java
+++ b/core-java-lang/src/main/java/com/baeldung/breakcontinue/BreakContinue.java
@@ -11,6 +11,7 @@ import java.util.Map.Entry;
* @author Santosh
*
*/
+
public class BreakContinue {
public static int unlabeledBreak() {
diff --git a/core-java/src/main/java/com/baeldung/chainedexception/LogWithChain.java b/core-java-lang/src/main/java/com/baeldung/chainedexception/LogWithChain.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/chainedexception/LogWithChain.java
rename to core-java-lang/src/main/java/com/baeldung/chainedexception/LogWithChain.java
diff --git a/core-java/src/main/java/com/baeldung/chainedexception/LogWithoutChain.java b/core-java-lang/src/main/java/com/baeldung/chainedexception/LogWithoutChain.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/chainedexception/LogWithoutChain.java
rename to core-java-lang/src/main/java/com/baeldung/chainedexception/LogWithoutChain.java
diff --git a/core-java/src/main/java/com/baeldung/chainedexception/exceptions/GirlFriendOfManagerUpsetException.java b/core-java-lang/src/main/java/com/baeldung/chainedexception/exceptions/GirlFriendOfManagerUpsetException.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/chainedexception/exceptions/GirlFriendOfManagerUpsetException.java
rename to core-java-lang/src/main/java/com/baeldung/chainedexception/exceptions/GirlFriendOfManagerUpsetException.java
diff --git a/core-java/src/main/java/com/baeldung/chainedexception/exceptions/ManagerUpsetException.java b/core-java-lang/src/main/java/com/baeldung/chainedexception/exceptions/ManagerUpsetException.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/chainedexception/exceptions/ManagerUpsetException.java
rename to core-java-lang/src/main/java/com/baeldung/chainedexception/exceptions/ManagerUpsetException.java
diff --git a/core-java/src/main/java/com/baeldung/chainedexception/exceptions/NoLeaveGrantedException.java b/core-java-lang/src/main/java/com/baeldung/chainedexception/exceptions/NoLeaveGrantedException.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/chainedexception/exceptions/NoLeaveGrantedException.java
rename to core-java-lang/src/main/java/com/baeldung/chainedexception/exceptions/NoLeaveGrantedException.java
diff --git a/core-java/src/main/java/com/baeldung/chainedexception/exceptions/TeamLeadUpsetException.java b/core-java-lang/src/main/java/com/baeldung/chainedexception/exceptions/TeamLeadUpsetException.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/chainedexception/exceptions/TeamLeadUpsetException.java
rename to core-java-lang/src/main/java/com/baeldung/chainedexception/exceptions/TeamLeadUpsetException.java
diff --git a/core-java/src/main/java/com/baeldung/comparable/Player.java b/core-java-lang/src/main/java/com/baeldung/comparable/Player.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/comparable/Player.java
rename to core-java-lang/src/main/java/com/baeldung/comparable/Player.java
diff --git a/core-java/src/main/java/com/baeldung/comparable/PlayerSorter.java b/core-java-lang/src/main/java/com/baeldung/comparable/PlayerSorter.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/comparable/PlayerSorter.java
rename to core-java-lang/src/main/java/com/baeldung/comparable/PlayerSorter.java
diff --git a/core-java/src/main/java/com/baeldung/comparator/Player.java b/core-java-lang/src/main/java/com/baeldung/comparator/Player.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/comparator/Player.java
rename to core-java-lang/src/main/java/com/baeldung/comparator/Player.java
diff --git a/core-java/src/main/java/com/baeldung/comparator/PlayerAgeComparator.java b/core-java-lang/src/main/java/com/baeldung/comparator/PlayerAgeComparator.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/comparator/PlayerAgeComparator.java
rename to core-java-lang/src/main/java/com/baeldung/comparator/PlayerAgeComparator.java
diff --git a/core-java/src/main/java/com/baeldung/comparator/PlayerAgeSorter.java b/core-java-lang/src/main/java/com/baeldung/comparator/PlayerAgeSorter.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/comparator/PlayerAgeSorter.java
rename to core-java-lang/src/main/java/com/baeldung/comparator/PlayerAgeSorter.java
diff --git a/core-java/src/main/java/com/baeldung/comparator/PlayerRankingComparator.java b/core-java-lang/src/main/java/com/baeldung/comparator/PlayerRankingComparator.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/comparator/PlayerRankingComparator.java
rename to core-java-lang/src/main/java/com/baeldung/comparator/PlayerRankingComparator.java
diff --git a/core-java/src/main/java/com/baeldung/comparator/PlayerRankingSorter.java b/core-java-lang/src/main/java/com/baeldung/comparator/PlayerRankingSorter.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/comparator/PlayerRankingSorter.java
rename to core-java-lang/src/main/java/com/baeldung/comparator/PlayerRankingSorter.java
diff --git a/core-java/src/main/java/com/baeldung/dynamicproxy/DynamicInvocationHandler.java b/core-java-lang/src/main/java/com/baeldung/dynamicproxy/DynamicInvocationHandler.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/dynamicproxy/DynamicInvocationHandler.java
rename to core-java-lang/src/main/java/com/baeldung/dynamicproxy/DynamicInvocationHandler.java
diff --git a/core-java/src/main/java/com/baeldung/dynamicproxy/TimingDynamicInvocationHandler.java b/core-java-lang/src/main/java/com/baeldung/dynamicproxy/TimingDynamicInvocationHandler.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/dynamicproxy/TimingDynamicInvocationHandler.java
rename to core-java-lang/src/main/java/com/baeldung/dynamicproxy/TimingDynamicInvocationHandler.java
diff --git a/core-java/src/main/java/com/baeldung/equalshashcode/entities/ComplexClass.java b/core-java-lang/src/main/java/com/baeldung/equalshashcode/entities/ComplexClass.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/equalshashcode/entities/ComplexClass.java
rename to core-java-lang/src/main/java/com/baeldung/equalshashcode/entities/ComplexClass.java
diff --git a/core-java/src/main/java/com/baeldung/equalshashcode/entities/PrimitiveClass.java b/core-java-lang/src/main/java/com/baeldung/equalshashcode/entities/PrimitiveClass.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/equalshashcode/entities/PrimitiveClass.java
rename to core-java-lang/src/main/java/com/baeldung/equalshashcode/entities/PrimitiveClass.java
diff --git a/core-java/src/main/java/com/baeldung/equalshashcode/entities/Rectangle.java b/core-java-lang/src/main/java/com/baeldung/equalshashcode/entities/Rectangle.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/equalshashcode/entities/Rectangle.java
rename to core-java-lang/src/main/java/com/baeldung/equalshashcode/entities/Rectangle.java
diff --git a/core-java/src/main/java/com/baeldung/equalshashcode/entities/Shape.java b/core-java-lang/src/main/java/com/baeldung/equalshashcode/entities/Shape.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/equalshashcode/entities/Shape.java
rename to core-java-lang/src/main/java/com/baeldung/equalshashcode/entities/Shape.java
diff --git a/core-java/src/main/java/com/baeldung/equalshashcode/entities/Square.java b/core-java-lang/src/main/java/com/baeldung/equalshashcode/entities/Square.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/equalshashcode/entities/Square.java
rename to core-java-lang/src/main/java/com/baeldung/equalshashcode/entities/Square.java
diff --git a/core-java/src/main/java/com/baeldung/generics/Building.java b/core-java-lang/src/main/java/com/baeldung/generics/Building.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/generics/Building.java
rename to core-java-lang/src/main/java/com/baeldung/generics/Building.java
diff --git a/core-java/src/main/java/com/baeldung/generics/Generics.java b/core-java-lang/src/main/java/com/baeldung/generics/Generics.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/generics/Generics.java
rename to core-java-lang/src/main/java/com/baeldung/generics/Generics.java
diff --git a/core-java/src/main/java/com/baeldung/generics/House.java b/core-java-lang/src/main/java/com/baeldung/generics/House.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/generics/House.java
rename to core-java-lang/src/main/java/com/baeldung/generics/House.java
diff --git a/core-java/src/main/java/com/baeldung/hashcode/entities/User.java b/core-java-lang/src/main/java/com/baeldung/hashcode/entities/User.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/hashcode/entities/User.java
rename to core-java-lang/src/main/java/com/baeldung/hashcode/entities/User.java
diff --git a/core-java/src/main/java/com/baeldung/initializationguide/User.java b/core-java-lang/src/main/java/com/baeldung/initializationguide/User.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/initializationguide/User.java
rename to core-java-lang/src/main/java/com/baeldung/initializationguide/User.java
diff --git a/core-java/src/main/java/com/baeldung/java/reflection/Animal.java b/core-java-lang/src/main/java/com/baeldung/java/reflection/Animal.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/java/reflection/Animal.java
rename to core-java-lang/src/main/java/com/baeldung/java/reflection/Animal.java
diff --git a/core-java/src/main/java/com/baeldung/java/reflection/Bird.java b/core-java-lang/src/main/java/com/baeldung/java/reflection/Bird.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/java/reflection/Bird.java
rename to core-java-lang/src/main/java/com/baeldung/java/reflection/Bird.java
diff --git a/core-java/src/main/java/com/baeldung/java/reflection/DynamicGreeter.java b/core-java-lang/src/main/java/com/baeldung/java/reflection/DynamicGreeter.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/java/reflection/DynamicGreeter.java
rename to core-java-lang/src/main/java/com/baeldung/java/reflection/DynamicGreeter.java
diff --git a/core-java/src/main/java/com/baeldung/java/reflection/Eating.java b/core-java-lang/src/main/java/com/baeldung/java/reflection/Eating.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/java/reflection/Eating.java
rename to core-java-lang/src/main/java/com/baeldung/java/reflection/Eating.java
diff --git a/core-java/src/main/java/com/baeldung/java/reflection/Goat.java b/core-java-lang/src/main/java/com/baeldung/java/reflection/Goat.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/java/reflection/Goat.java
rename to core-java-lang/src/main/java/com/baeldung/java/reflection/Goat.java
diff --git a/core-java/src/main/java/com/baeldung/java/reflection/Greeter.java b/core-java-lang/src/main/java/com/baeldung/java/reflection/Greeter.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/java/reflection/Greeter.java
rename to core-java-lang/src/main/java/com/baeldung/java/reflection/Greeter.java
diff --git a/core-java/src/main/java/com/baeldung/java/reflection/GreetingAnnotation.java b/core-java-lang/src/main/java/com/baeldung/java/reflection/GreetingAnnotation.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/java/reflection/GreetingAnnotation.java
rename to core-java-lang/src/main/java/com/baeldung/java/reflection/GreetingAnnotation.java
diff --git a/core-java/src/main/java/com/baeldung/java/reflection/Greetings.java b/core-java-lang/src/main/java/com/baeldung/java/reflection/Greetings.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/java/reflection/Greetings.java
rename to core-java-lang/src/main/java/com/baeldung/java/reflection/Greetings.java
diff --git a/core-java/src/main/java/com/baeldung/java/reflection/Locomotion.java b/core-java-lang/src/main/java/com/baeldung/java/reflection/Locomotion.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/java/reflection/Locomotion.java
rename to core-java-lang/src/main/java/com/baeldung/java/reflection/Locomotion.java
diff --git a/core-java/src/main/java/com/baeldung/java/reflection/Operations.java b/core-java-lang/src/main/java/com/baeldung/java/reflection/Operations.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/java/reflection/Operations.java
rename to core-java-lang/src/main/java/com/baeldung/java/reflection/Operations.java
diff --git a/core-java/src/main/java/com/baeldung/java/reflection/Person.java b/core-java-lang/src/main/java/com/baeldung/java/reflection/Person.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/java/reflection/Person.java
rename to core-java-lang/src/main/java/com/baeldung/java/reflection/Person.java
diff --git a/core-java/src/main/java/com/baeldung/loops/InfiniteLoops.java b/core-java-lang/src/main/java/com/baeldung/loops/InfiniteLoops.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/loops/InfiniteLoops.java
rename to core-java-lang/src/main/java/com/baeldung/loops/InfiniteLoops.java
diff --git a/core-java/src/main/java/com/baeldung/loops/LoopsInJava.java b/core-java-lang/src/main/java/com/baeldung/loops/LoopsInJava.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/loops/LoopsInJava.java
rename to core-java-lang/src/main/java/com/baeldung/loops/LoopsInJava.java
diff --git a/core-java/src/main/java/com/baeldung/staticdemo/Car.java b/core-java-lang/src/main/java/com/baeldung/staticdemo/Car.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/staticdemo/Car.java
rename to core-java-lang/src/main/java/com/baeldung/staticdemo/Car.java
diff --git a/core-java/src/main/java/com/baeldung/staticdemo/Singleton.java b/core-java-lang/src/main/java/com/baeldung/staticdemo/Singleton.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/staticdemo/Singleton.java
rename to core-java-lang/src/main/java/com/baeldung/staticdemo/Singleton.java
diff --git a/core-java/src/main/java/com/baeldung/staticdemo/StaticBlock.java b/core-java-lang/src/main/java/com/baeldung/staticdemo/StaticBlock.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/staticdemo/StaticBlock.java
rename to core-java-lang/src/main/java/com/baeldung/staticdemo/StaticBlock.java
diff --git a/core-java/src/test/java/com/baeldung/breakcontinue/BreakContinueUnitTest.java b/core-java-lang/src/test/java/com/baeldung/breakcontinue/BreakContinueUnitTest.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/breakcontinue/BreakContinueUnitTest.java
rename to core-java-lang/src/test/java/com/baeldung/breakcontinue/BreakContinueUnitTest.java
diff --git a/core-java/src/test/java/com/baeldung/comparable/ComparableUnitTest.java b/core-java-lang/src/test/java/com/baeldung/comparable/ComparableUnitTest.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/comparable/ComparableUnitTest.java
rename to core-java-lang/src/test/java/com/baeldung/comparable/ComparableUnitTest.java
diff --git a/core-java/src/test/java/com/baeldung/comparator/ComparatorUnitTest.java b/core-java-lang/src/test/java/com/baeldung/comparator/ComparatorUnitTest.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/comparator/ComparatorUnitTest.java
rename to core-java-lang/src/test/java/com/baeldung/comparator/ComparatorUnitTest.java
diff --git a/core-java/src/test/java/com/baeldung/comparator/Java8ComparatorUnitTest.java b/core-java-lang/src/test/java/com/baeldung/comparator/Java8ComparatorUnitTest.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/comparator/Java8ComparatorUnitTest.java
rename to core-java-lang/src/test/java/com/baeldung/comparator/Java8ComparatorUnitTest.java
diff --git a/core-java/src/test/java/com/baeldung/dynamicproxy/DynamicProxyIntegrationTest.java b/core-java-lang/src/test/java/com/baeldung/dynamicproxy/DynamicProxyIntegrationTest.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/dynamicproxy/DynamicProxyIntegrationTest.java
rename to core-java-lang/src/test/java/com/baeldung/dynamicproxy/DynamicProxyIntegrationTest.java
diff --git a/core-java/src/test/java/org/baeldung/equalshashcode/entities/ComplexClassUnitTest.java b/core-java-lang/src/test/java/com/baeldung/equalshashcode/entities/ComplexClassUnitTest.java
similarity index 95%
rename from core-java/src/test/java/org/baeldung/equalshashcode/entities/ComplexClassUnitTest.java
rename to core-java-lang/src/test/java/com/baeldung/equalshashcode/entities/ComplexClassUnitTest.java
index 680a6d57b5..0cb4ace0ab 100644
--- a/core-java/src/test/java/org/baeldung/equalshashcode/entities/ComplexClassUnitTest.java
+++ b/core-java-lang/src/test/java/com/baeldung/equalshashcode/entities/ComplexClassUnitTest.java
@@ -1,4 +1,4 @@
-package org.baeldung.equalshashcode.entities;
+package com.baeldung.equalshashcode.entities;
import java.util.ArrayList;
import java.util.HashSet;
diff --git a/core-java/src/test/java/org/baeldung/equalshashcode/entities/PrimitiveClassUnitTest.java b/core-java-lang/src/test/java/com/baeldung/equalshashcode/entities/PrimitiveClassUnitTest.java
similarity index 85%
rename from core-java/src/test/java/org/baeldung/equalshashcode/entities/PrimitiveClassUnitTest.java
rename to core-java-lang/src/test/java/com/baeldung/equalshashcode/entities/PrimitiveClassUnitTest.java
index f4e9f2b99f..457d7a2b5e 100644
--- a/core-java/src/test/java/org/baeldung/equalshashcode/entities/PrimitiveClassUnitTest.java
+++ b/core-java-lang/src/test/java/com/baeldung/equalshashcode/entities/PrimitiveClassUnitTest.java
@@ -1,10 +1,8 @@
-package org.baeldung.equalshashcode.entities;
+package com.baeldung.equalshashcode.entities;
import org.junit.Assert;
import org.junit.Test;
-import com.baeldung.equalshashcode.entities.PrimitiveClass;
-
public class PrimitiveClassUnitTest {
@Test
diff --git a/core-java/src/test/java/org/baeldung/equalshashcode/entities/SquareClassUnitTest.java b/core-java-lang/src/test/java/com/baeldung/equalshashcode/entities/SquareClassUnitTest.java
similarity index 93%
rename from core-java/src/test/java/org/baeldung/equalshashcode/entities/SquareClassUnitTest.java
rename to core-java-lang/src/test/java/com/baeldung/equalshashcode/entities/SquareClassUnitTest.java
index 5c860bd62d..a25e8bd486 100644
--- a/core-java/src/test/java/org/baeldung/equalshashcode/entities/SquareClassUnitTest.java
+++ b/core-java-lang/src/test/java/com/baeldung/equalshashcode/entities/SquareClassUnitTest.java
@@ -1,4 +1,4 @@
-package org.baeldung.equalshashcode.entities;
+package com.baeldung.equalshashcode.entities;
import java.awt.Color;
diff --git a/core-java/src/test/java/com/baeldung/generics/GenericsUnitTest.java b/core-java-lang/src/test/java/com/baeldung/generics/GenericsUnitTest.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/generics/GenericsUnitTest.java
rename to core-java-lang/src/test/java/com/baeldung/generics/GenericsUnitTest.java
diff --git a/core-java/src/test/java/com/baeldung/hashcode/application/ApplicationUnitTest.java b/core-java-lang/src/test/java/com/baeldung/hashcode/application/ApplicationUnitTest.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/hashcode/application/ApplicationUnitTest.java
rename to core-java-lang/src/test/java/com/baeldung/hashcode/application/ApplicationUnitTest.java
diff --git a/core-java/src/test/java/com/baeldung/hashcode/entities/UserUnitTest.java b/core-java-lang/src/test/java/com/baeldung/hashcode/entities/UserUnitTest.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/hashcode/entities/UserUnitTest.java
rename to core-java-lang/src/test/java/com/baeldung/hashcode/entities/UserUnitTest.java
diff --git a/core-java/src/test/java/com/baeldung/initializationguide/UserUnitTest.java b/core-java-lang/src/test/java/com/baeldung/initializationguide/UserUnitTest.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/initializationguide/UserUnitTest.java
rename to core-java-lang/src/test/java/com/baeldung/initializationguide/UserUnitTest.java
diff --git a/core-java/src/test/java/org/baeldung/java/diamond/Car.java b/core-java-lang/src/test/java/com/baeldung/java/diamond/Car.java
similarity index 64%
rename from core-java/src/test/java/org/baeldung/java/diamond/Car.java
rename to core-java-lang/src/test/java/com/baeldung/java/diamond/Car.java
index 9f923e0f3b..a680c4e670 100644
--- a/core-java/src/test/java/org/baeldung/java/diamond/Car.java
+++ b/core-java-lang/src/test/java/com/baeldung/java/diamond/Car.java
@@ -1,4 +1,4 @@
-package org.baeldung.java.diamond;
+package com.baeldung.java.diamond;
public class Car implements Vehicle {
diff --git a/core-java/src/test/java/org/baeldung/java/diamond/DiamondOperatorUnitTest.java b/core-java-lang/src/test/java/com/baeldung/java/diamond/DiamondOperatorUnitTest.java
similarity index 88%
rename from core-java/src/test/java/org/baeldung/java/diamond/DiamondOperatorUnitTest.java
rename to core-java-lang/src/test/java/com/baeldung/java/diamond/DiamondOperatorUnitTest.java
index f6c7f7162f..ee5f639926 100644
--- a/core-java/src/test/java/org/baeldung/java/diamond/DiamondOperatorUnitTest.java
+++ b/core-java-lang/src/test/java/com/baeldung/java/diamond/DiamondOperatorUnitTest.java
@@ -1,4 +1,4 @@
-package org.baeldung.java.diamond;
+package com.baeldung.java.diamond;
import static org.junit.Assert.assertNotNull;
diff --git a/core-java/src/test/java/org/baeldung/java/diamond/Diesel.java b/core-java-lang/src/test/java/com/baeldung/java/diamond/Diesel.java
similarity index 78%
rename from core-java/src/test/java/org/baeldung/java/diamond/Diesel.java
rename to core-java-lang/src/test/java/com/baeldung/java/diamond/Diesel.java
index dc4256cdae..90eb7d9340 100644
--- a/core-java/src/test/java/org/baeldung/java/diamond/Diesel.java
+++ b/core-java-lang/src/test/java/com/baeldung/java/diamond/Diesel.java
@@ -1,4 +1,4 @@
-package org.baeldung.java.diamond;
+package com.baeldung.java.diamond;
public class Diesel implements Engine {
diff --git a/core-java/src/test/java/org/baeldung/java/diamond/Engine.java b/core-java-lang/src/test/java/com/baeldung/java/diamond/Engine.java
similarity index 56%
rename from core-java/src/test/java/org/baeldung/java/diamond/Engine.java
rename to core-java-lang/src/test/java/com/baeldung/java/diamond/Engine.java
index c18a8f64b5..746baf3254 100644
--- a/core-java/src/test/java/org/baeldung/java/diamond/Engine.java
+++ b/core-java-lang/src/test/java/com/baeldung/java/diamond/Engine.java
@@ -1,4 +1,4 @@
-package org.baeldung.java.diamond;
+package com.baeldung.java.diamond;
public interface Engine {
diff --git a/core-java/src/test/java/org/baeldung/java/diamond/Vehicle.java b/core-java-lang/src/test/java/com/baeldung/java/diamond/Vehicle.java
similarity index 58%
rename from core-java/src/test/java/org/baeldung/java/diamond/Vehicle.java
rename to core-java-lang/src/test/java/com/baeldung/java/diamond/Vehicle.java
index f61cf59620..8395cdd970 100644
--- a/core-java/src/test/java/org/baeldung/java/diamond/Vehicle.java
+++ b/core-java-lang/src/test/java/com/baeldung/java/diamond/Vehicle.java
@@ -1,4 +1,4 @@
-package org.baeldung.java.diamond;
+package com.baeldung.java.diamond;
public interface Vehicle {
diff --git a/core-java/src/test/java/com/baeldung/java/doublebrace/DoubleBraceUnitTest.java b/core-java-lang/src/test/java/com/baeldung/java/doublebrace/DoubleBraceUnitTest.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/java/doublebrace/DoubleBraceUnitTest.java
rename to core-java-lang/src/test/java/com/baeldung/java/doublebrace/DoubleBraceUnitTest.java
diff --git a/core-java/src/main/java/com/baeldung/java/enumiteration/DaysOfWeekEnum.java b/core-java-lang/src/test/java/com/baeldung/java/enumiteration/DaysOfWeekEnum.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/java/enumiteration/DaysOfWeekEnum.java
rename to core-java-lang/src/test/java/com/baeldung/java/enumiteration/DaysOfWeekEnum.java
diff --git a/core-java/src/main/java/com/baeldung/java/enumiteration/EnumIterationExamples.java b/core-java-lang/src/test/java/com/baeldung/java/enumiteration/EnumIterationExamples.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/java/enumiteration/EnumIterationExamples.java
rename to core-java-lang/src/test/java/com/baeldung/java/enumiteration/EnumIterationExamples.java
diff --git a/core-java/src/test/java/com/baeldung/java/reflection/OperationsUnitTest.java b/core-java-lang/src/test/java/com/baeldung/java/reflection/OperationsUnitTest.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/java/reflection/OperationsUnitTest.java
rename to core-java-lang/src/test/java/com/baeldung/java/reflection/OperationsUnitTest.java
diff --git a/core-java/src/test/java/com/baeldung/java/reflection/ReflectionUnitTest.java b/core-java-lang/src/test/java/com/baeldung/java/reflection/ReflectionUnitTest.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/java/reflection/ReflectionUnitTest.java
rename to core-java-lang/src/test/java/com/baeldung/java/reflection/ReflectionUnitTest.java
diff --git a/core-java/src/test/java/com/baeldung/loops/WhenUsingLoops.java b/core-java-lang/src/test/java/com/baeldung/loops/WhenUsingLoops.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/loops/WhenUsingLoops.java
rename to core-java-lang/src/test/java/com/baeldung/loops/WhenUsingLoops.java
diff --git a/core-java/src/test/java/com/baeldung/nestedclass/AnonymousInner.java b/core-java-lang/src/test/java/com/baeldung/nestedclass/AnonymousInner.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/nestedclass/AnonymousInner.java
rename to core-java-lang/src/test/java/com/baeldung/nestedclass/AnonymousInner.java
diff --git a/core-java/src/test/java/com/baeldung/nestedclass/Enclosing.java b/core-java-lang/src/test/java/com/baeldung/nestedclass/Enclosing.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/nestedclass/Enclosing.java
rename to core-java-lang/src/test/java/com/baeldung/nestedclass/Enclosing.java
diff --git a/core-java/src/test/java/com/baeldung/nestedclass/NewEnclosing.java b/core-java-lang/src/test/java/com/baeldung/nestedclass/NewEnclosing.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/nestedclass/NewEnclosing.java
rename to core-java-lang/src/test/java/com/baeldung/nestedclass/NewEnclosing.java
diff --git a/core-java/src/test/java/com/baeldung/nestedclass/NewOuter.java b/core-java-lang/src/test/java/com/baeldung/nestedclass/NewOuter.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/nestedclass/NewOuter.java
rename to core-java-lang/src/test/java/com/baeldung/nestedclass/NewOuter.java
diff --git a/core-java/src/test/java/com/baeldung/nestedclass/Outer.java b/core-java-lang/src/test/java/com/baeldung/nestedclass/Outer.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/nestedclass/Outer.java
rename to core-java-lang/src/test/java/com/baeldung/nestedclass/Outer.java
diff --git a/core-java/src/test/java/com/baeldung/PrimitiveConversionsJUnitTest.java b/core-java-lang/src/test/java/com/baeldung/primitiveconversion/PrimitiveConversionsJUnitTest.java
similarity index 99%
rename from core-java/src/test/java/com/baeldung/PrimitiveConversionsJUnitTest.java
rename to core-java-lang/src/test/java/com/baeldung/primitiveconversion/PrimitiveConversionsJUnitTest.java
index 69a6c18dfd..cb83f4a5ed 100644
--- a/core-java/src/test/java/com/baeldung/PrimitiveConversionsJUnitTest.java
+++ b/core-java-lang/src/test/java/com/baeldung/primitiveconversion/PrimitiveConversionsJUnitTest.java
@@ -1,4 +1,4 @@
-package com.baeldung;
+package com.baeldung.primitiveconversion;
import org.junit.Test;
import org.slf4j.Logger;
diff --git a/core-java/src/test/java/com/baeldung/staticdemo/CarIntegrationTest.java b/core-java-lang/src/test/java/com/baeldung/staticdemo/CarIntegrationTest.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/staticdemo/CarIntegrationTest.java
rename to core-java-lang/src/test/java/com/baeldung/staticdemo/CarIntegrationTest.java
diff --git a/core-java/src/test/java/com/baeldung/staticdemo/SingletonIntegrationTest.java b/core-java-lang/src/test/java/com/baeldung/staticdemo/SingletonIntegrationTest.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/staticdemo/SingletonIntegrationTest.java
rename to core-java-lang/src/test/java/com/baeldung/staticdemo/SingletonIntegrationTest.java
diff --git a/core-java/src/test/java/com/baeldung/staticdemo/StaticBlockIntegrationTest.java b/core-java-lang/src/test/java/com/baeldung/staticdemo/StaticBlockIntegrationTest.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/staticdemo/StaticBlockIntegrationTest.java
rename to core-java-lang/src/test/java/com/baeldung/staticdemo/StaticBlockIntegrationTest.java
diff --git a/core-java/src/test/java/com/baeldung/varargs/FormatterUnitTest.java b/core-java-lang/src/test/java/com/baeldung/varargs/FormatterUnitTest.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/varargs/FormatterUnitTest.java
rename to core-java-lang/src/test/java/com/baeldung/varargs/FormatterUnitTest.java
diff --git a/core-java/src/main/java/org/baeldung/equalshashcode/entities/ComplexClass.java b/core-java/src/main/java/org/baeldung/equalshashcode/entities/ComplexClass.java
deleted file mode 100644
index 6329f41252..0000000000
--- a/core-java/src/main/java/org/baeldung/equalshashcode/entities/ComplexClass.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.baeldung.equalshashcode.entities;
-
-import java.util.List;
-import java.util.Set;
-
-public class ComplexClass {
-
- private List> genericList;
- private Set integerSet;
-
- public ComplexClass(List> genericArrayList, Set integerHashSet) {
- super();
- this.genericList = genericArrayList;
- this.integerSet = integerHashSet;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((genericList == null) ? 0 : genericList.hashCode());
- result = prime * result + ((integerSet == null) ? 0 : integerSet.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (!(obj instanceof ComplexClass))
- return false;
- ComplexClass other = (ComplexClass) obj;
- if (genericList == null) {
- if (other.genericList != null)
- return false;
- } else if (!genericList.equals(other.genericList))
- return false;
- if (integerSet == null) {
- if (other.integerSet != null)
- return false;
- } else if (!integerSet.equals(other.integerSet))
- return false;
- return true;
- }
-
- protected List> getGenericList() {
- return genericList;
- }
-
- protected void setGenericArrayList(List> genericList) {
- this.genericList = genericList;
- }
-
- protected Set getIntegerSet() {
- return integerSet;
- }
-
- protected void setIntegerSet(Set integerSet) {
- this.integerSet = integerSet;
- }
-}
diff --git a/core-java/src/main/java/org/baeldung/equalshashcode/entities/PrimitiveClass.java b/core-java/src/main/java/org/baeldung/equalshashcode/entities/PrimitiveClass.java
deleted file mode 100644
index ebe005688c..0000000000
--- a/core-java/src/main/java/org/baeldung/equalshashcode/entities/PrimitiveClass.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.baeldung.equalshashcode.entities;
-
-public class PrimitiveClass {
-
- private boolean primitiveBoolean;
- private int primitiveInt;
-
- public PrimitiveClass(boolean primitiveBoolean, int primitiveInt) {
- super();
- this.primitiveBoolean = primitiveBoolean;
- this.primitiveInt = primitiveInt;
- }
-
- protected boolean isPrimitiveBoolean() {
- return primitiveBoolean;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + (primitiveBoolean ? 1231 : 1237);
- result = prime * result + primitiveInt;
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- PrimitiveClass other = (PrimitiveClass) obj;
- if (primitiveBoolean != other.primitiveBoolean)
- return false;
- if (primitiveInt != other.primitiveInt)
- return false;
- return true;
- }
-
- protected void setPrimitiveBoolean(boolean primitiveBoolean) {
- this.primitiveBoolean = primitiveBoolean;
- }
-
- protected int getPrimitiveInt() {
- return primitiveInt;
- }
-
- protected void setPrimitiveInt(int primitiveInt) {
- this.primitiveInt = primitiveInt;
- }
-}
diff --git a/core-java/src/main/java/org/baeldung/equalshashcode/entities/Rectangle.java b/core-java/src/main/java/org/baeldung/equalshashcode/entities/Rectangle.java
deleted file mode 100644
index 5e38eb6088..0000000000
--- a/core-java/src/main/java/org/baeldung/equalshashcode/entities/Rectangle.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.baeldung.equalshashcode.entities;
-
-public class Rectangle extends Shape {
- private double width;
- private double length;
-
- Rectangle(double width, double length) {
- this.width = width;
- this.length = length;
- }
-
- @Override
- public double area() {
- return width * length;
- }
-
- @Override
- public double perimeter() {
- return 2 * (width + length);
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- long temp;
- temp = Double.doubleToLongBits(length);
- result = prime * result + (int) (temp ^ (temp >>> 32));
- temp = Double.doubleToLongBits(width);
- result = prime * result + (int) (temp ^ (temp >>> 32));
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- Rectangle other = (Rectangle) obj;
- if (Double.doubleToLongBits(length) != Double.doubleToLongBits(other.length))
- return false;
- if (Double.doubleToLongBits(width) != Double.doubleToLongBits(other.width))
- return false;
- return true;
- }
-
- protected double getWidth() {
- return width;
- }
-
- protected double getLength() {
- return length;
- }
-
-}
\ No newline at end of file
diff --git a/core-java/src/main/java/org/baeldung/equalshashcode/entities/Shape.java b/core-java/src/main/java/org/baeldung/equalshashcode/entities/Shape.java
deleted file mode 100644
index 3bfc81da8f..0000000000
--- a/core-java/src/main/java/org/baeldung/equalshashcode/entities/Shape.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package org.baeldung.equalshashcode.entities;
-
-public abstract class Shape {
- public abstract double area();
-
- public abstract double perimeter();
-}
diff --git a/core-java/src/main/java/org/baeldung/equalshashcode/entities/Square.java b/core-java/src/main/java/org/baeldung/equalshashcode/entities/Square.java
deleted file mode 100644
index f11e34f0ba..0000000000
--- a/core-java/src/main/java/org/baeldung/equalshashcode/entities/Square.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.baeldung.equalshashcode.entities;
-
-import java.awt.Color;
-
-public class Square extends Rectangle {
-
- Color color;
-
- public Square(double width, Color color) {
- super(width, width);
- this.color = color;
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#hashCode()
- */
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = super.hashCode();
- result = prime * result + ((color == null) ? 0 : color.hashCode());
- return result;
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#equals(java.lang.Object)
- */
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (!super.equals(obj)) {
- return false;
- }
- if (!(obj instanceof Square)) {
- return false;
- }
- Square other = (Square) obj;
- if (color == null) {
- if (other.color != null) {
- return false;
- }
- } else if (!color.equals(other.color)) {
- return false;
- }
- return true;
- }
-
- protected Color getColor() {
- return color;
- }
-
- protected void setColor(Color color) {
- this.color = color;
- }
-
-}
diff --git a/core-java/src/test/java/com/baeldung/java/reflection/operations/MoreOperationsUnitTest.java b/core-java/src/test/java/com/baeldung/java/reflection/operations/MoreOperationsUnitTest.java
deleted file mode 100644
index 2fe0a54664..0000000000
--- a/core-java/src/test/java/com/baeldung/java/reflection/operations/MoreOperationsUnitTest.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package com.baeldung.java.reflection.operations;
-
-import com.baeldung.java.reflection.*;
-import static org.hamcrest.CoreMatchers.equalTo;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import org.junit.Test;
-import static org.junit.Assert.assertThat;
-
-public class MoreOperationsUnitTest {
-
- public MoreOperationsUnitTest() {
- }
-
- @Test(expected = IllegalAccessException.class)
- public void givenObject_whenInvokeProtectedMethod_thenFail() throws NoSuchMethodException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
- Method maxProtectedMethod = Operations.class.getDeclaredMethod("protectedMax", int.class, int.class);
-
- Operations operationsInstance = new Operations();
- Integer result = (Integer) maxProtectedMethod.invoke(operationsInstance, 2, 4);
-
- assertThat(result, equalTo(4));
- }
-
- @Test
- public void givenObject_whenInvokeProtectedMethod_thenCorrect() throws Exception {
- Method maxProtectedMethod = Operations.class.getDeclaredMethod("protectedMax", int.class, int.class);
- maxProtectedMethod.setAccessible(true);
-
- Operations operationsInstance = new Operations();
- Integer result = (Integer) maxProtectedMethod.invoke(operationsInstance, 2, 4);
-
- assertThat(result, equalTo(4));
- }
-
-}
diff --git a/pom.xml b/pom.xml
index aa79dae1d5..f974e4c743 100644
--- a/pom.xml
+++ b/pom.xml
@@ -356,6 +356,7 @@
java-strings
core-java
+ core-java-lang
core-java-collections
java-collections-conversions
java-collections-maps