diff --git a/.travis.yml b/.travis.yml
index 0eadda768..909b77aa1 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -6,7 +6,7 @@ language: java
# Configure the build to use Oracle JDK 9
jdk:
- - openjdk11
+ - openjdk21
# Install the Ant JUnit package, which is missing from the Travis CI environment. See the Travis documentation: https://docs.travis-ci.com/user/installing-dependencies/#Adding-APT-Packages
addons:
diff --git a/nbproject/project.properties b/nbproject/project.properties
index fab181db5..de8a7bdfc 100644
--- a/nbproject/project.properties
+++ b/nbproject/project.properties
@@ -56,8 +56,8 @@ javac.modulepath=
javac.processormodulepath=
javac.processorpath=\
${javac.classpath}
-javac.source=11
-javac.target=11
+javac.source=21
+javac.target=21
javac.test.classpath=\
${javac.classpath}:\
${build.classes.dir}
diff --git a/release-build.properties b/release-build.properties
index cde1c0e4d..689b78744 100644
--- a/release-build.properties
+++ b/release-build.properties
@@ -38,7 +38,7 @@ worldwind.classes.dir=${worldwind.build.dir}/classes
worldwind.doc.dir=${worldwind.build.dir}/doc
worldwind.jar.dir=${worldwind.build.dir}/jar
worldwind.test.results.dir=${worldwind.build.dir}/test-results
-worldwind.jdk=11
+worldwind.jdk=21
#worldwind.exclude.jackson=true
# MIL-STD-2525 package build properties
diff --git a/release-build.xml b/release-build.xml
index 9810ad732..7948d8878 100644
--- a/release-build.xml
+++ b/release-build.xml
@@ -126,7 +126,7 @@
-
+
diff --git a/src/gov/nasa/worldwind/render/AbstractShape.java b/src/gov/nasa/worldwind/render/AbstractShape.java
index a09c7cc5f..e7740d507 100644
--- a/src/gov/nasa/worldwind/render/AbstractShape.java
+++ b/src/gov/nasa/worldwind/render/AbstractShape.java
@@ -1542,7 +1542,7 @@ protected Extent computeExtentFromPositions(Globe globe, double verticalExaggera
extremes = new double[] {Double.MAX_VALUE, -Double.MAX_VALUE};
for (LatLon pos : positions)
{
- double elevation = pos instanceof Position ? ((Position) pos).getElevation() : 0;
+ double elevation = pos instanceof Position position ? position.getElevation() : 0;
if (this.getAltitudeMode() == WorldWind.RELATIVE_TO_GROUND)
elevation += minAndMaxElevations[1];
diff --git a/src/gov/nasa/worldwind/render/DrawContextImpl.java b/src/gov/nasa/worldwind/render/DrawContextImpl.java
index c24100b16..c76b95dba 100644
--- a/src/gov/nasa/worldwind/render/DrawContextImpl.java
+++ b/src/gov/nasa/worldwind/render/DrawContextImpl.java
@@ -820,7 +820,7 @@ public OrderedRenderable pollOrderedRenderables()
// ArrayList declutterableArray = new ArrayList();
// for (OrderedRenderableEntry ore : this.orderedRenderables)
// {
-// if (ore.or instanceof Declutterable && ((Declutterable) ore.or).isEnableDecluttering())
+// if (ore.or instanceof Declutterable declutterable && declutterable.isEnableDecluttering())
// declutterableArray.add(ore);
// }
//
@@ -880,7 +880,7 @@ public void applyClutterFilter()
ArrayList declutterableArray = new ArrayList();
for (OrderedRenderableEntry ore : this.orderedRenderables)
{
- if (ore.or instanceof Declutterable && ((Declutterable) ore.or).isEnableDecluttering())
+ if (ore.or instanceof Declutterable declutterable && declutterable.isEnableDecluttering())
declutterableArray.add(ore);
}
diff --git a/src/gov/nasa/worldwind/render/UserFacingIcon.java b/src/gov/nasa/worldwind/render/UserFacingIcon.java
index 5ff03858b..71700d8ef 100644
--- a/src/gov/nasa/worldwind/render/UserFacingIcon.java
+++ b/src/gov/nasa/worldwind/render/UserFacingIcon.java
@@ -116,7 +116,7 @@ public void setImageSource(Object imageSource)
public String getPath()
{
- return this.getImageSource() instanceof String ? (String) this.getImageSource() : null;
+ return this.getImageSource() instanceof String imageSource ? imageSource : null;
}
public Position getPosition()