diff --git a/core/src/main/java/hudson/PluginManager.java b/core/src/main/java/hudson/PluginManager.java index 6915f15f54..eb842adb53 100644 --- a/core/src/main/java/hudson/PluginManager.java +++ b/core/src/main/java/hudson/PluginManager.java @@ -195,7 +195,6 @@ import org.xml.sax.helpers.DefaultHandler; * @author Kohsuke Kawaguchi */ @ExportedBean -@SuppressFBWarnings(value = "THROWS_METHOD_THROWS_CLAUSE_BASIC_EXCEPTION", justification = "TODO needs triage") public abstract class PluginManager extends AbstractModelObject implements OnMaster, StaplerOverridable, StaplerProxy { /** Custom plugin manager system property or context param. */ public static final String CUSTOM_PLUGIN_MANAGER = PluginManager.class.getName() + ".className"; diff --git a/core/src/main/java/hudson/cli/declarative/CLIRegisterer.java b/core/src/main/java/hudson/cli/declarative/CLIRegisterer.java index 5fdf42672f..8b2f2348c5 100644 --- a/core/src/main/java/hudson/cli/declarative/CLIRegisterer.java +++ b/core/src/main/java/hudson/cli/declarative/CLIRegisterer.java @@ -27,7 +27,6 @@ package hudson.cli.declarative; import static java.util.logging.Level.SEVERE; import edu.umd.cs.findbugs.annotations.NonNull; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import hudson.AbortException; import hudson.Extension; import hudson.ExtensionComponent; @@ -72,12 +71,6 @@ import org.springframework.security.core.context.SecurityContextHolder; * @author Kohsuke Kawaguchi */ @Extension -@SuppressFBWarnings( - value = { - "THROWS_METHOD_THROWS_CLAUSE_BASIC_EXCEPTION", - "THROWS_METHOD_THROWS_RUNTIMEEXCEPTION" - }, - justification = "TODO needs triage") public class CLIRegisterer extends ExtensionFinder { @Override public ExtensionComponentSet refresh() throws ExtensionRefreshException { diff --git a/core/src/main/java/hudson/model/AbstractItem.java b/core/src/main/java/hudson/model/AbstractItem.java index 3cf2952782..a605668bc6 100644 --- a/core/src/main/java/hudson/model/AbstractItem.java +++ b/core/src/main/java/hudson/model/AbstractItem.java @@ -111,7 +111,6 @@ import org.xml.sax.SAXException; // Item doesn't necessarily have to be Actionable, but // Java doesn't let multiple inheritance. @ExportedBean -@SuppressFBWarnings(value = "THROWS_METHOD_THROWS_CLAUSE_THROWABLE", justification = "TODO needs triage") public abstract class AbstractItem extends Actionable implements Item, HttpDeletable, AccessControlled, DescriptorByNameOwner, StaplerProxy { private static final Logger LOGGER = Logger.getLogger(AbstractItem.class.getName()); diff --git a/core/src/main/java/hudson/model/Executor.java b/core/src/main/java/hudson/model/Executor.java index 1214a277d8..0b40cc60eb 100644 --- a/core/src/main/java/hudson/model/Executor.java +++ b/core/src/main/java/hudson/model/Executor.java @@ -32,7 +32,6 @@ import static java.util.logging.Level.WARNING; import edu.umd.cs.findbugs.annotations.CheckForNull; import edu.umd.cs.findbugs.annotations.NonNull; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import hudson.FilePath; import hudson.Functions; import hudson.Util; @@ -90,12 +89,6 @@ import org.springframework.security.core.Authentication; * @author Kohsuke Kawaguchi */ @ExportedBean -@SuppressFBWarnings( - value = { - "THROWS_METHOD_THROWS_CLAUSE_BASIC_EXCEPTION", - "THROWS_METHOD_THROWS_CLAUSE_THROWABLE" - }, - justification = "TODO needs triage") public class Executor extends Thread implements ModelObject { protected final @NonNull Computer owner; private final Queue queue; diff --git a/core/src/main/java/hudson/model/ItemGroupMixIn.java b/core/src/main/java/hudson/model/ItemGroupMixIn.java index 7c3fdbdadb..55abdb0d18 100644 --- a/core/src/main/java/hudson/model/ItemGroupMixIn.java +++ b/core/src/main/java/hudson/model/ItemGroupMixIn.java @@ -24,7 +24,6 @@ package hudson.model; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import hudson.Util; import hudson.XmlFile; import hudson.model.listeners.ItemListener; @@ -62,7 +61,6 @@ import org.xml.sax.SAXException; * @author Kohsuke Kawaguchi * @see ViewGroupMixIn */ -@SuppressFBWarnings(value = "THROWS_METHOD_THROWS_CLAUSE_THROWABLE", justification = "TODO needs triage") public abstract class ItemGroupMixIn { /** * {@link ItemGroup} for which we are working. diff --git a/core/src/main/java/hudson/model/Queue.java b/core/src/main/java/hudson/model/Queue.java index a35274d8e1..3914fd0d12 100644 --- a/core/src/main/java/hudson/model/Queue.java +++ b/core/src/main/java/hudson/model/Queue.java @@ -171,7 +171,6 @@ import org.springframework.security.core.Authentication; * @see QueueTaskDispatcher */ @ExportedBean -@SuppressFBWarnings(value = "THROWS_METHOD_THROWS_CLAUSE_BASIC_EXCEPTION", justification = "TODO needs triage") public class Queue extends ResourceController implements Saveable { /** diff --git a/core/src/main/java/hudson/model/ResourceController.java b/core/src/main/java/hudson/model/ResourceController.java index 2eabd0616b..c466fc001a 100644 --- a/core/src/main/java/hudson/model/ResourceController.java +++ b/core/src/main/java/hudson/model/ResourceController.java @@ -39,12 +39,6 @@ import jenkins.security.NotReallyRoleSensitiveCallable; * Controls mutual exclusion of {@link ResourceList}. * @author Kohsuke Kawaguchi */ -@SuppressFBWarnings( - value = { - "THROWS_METHOD_THROWS_CLAUSE_BASIC_EXCEPTION", - "THROWS_METHOD_THROWS_CLAUSE_THROWABLE" - }, - justification = "TODO needs triage") public class ResourceController { /** * {@link ResourceList}s that are used by activities that are in progress. diff --git a/core/src/main/java/hudson/model/UpdateSite.java b/core/src/main/java/hudson/model/UpdateSite.java index 3b0c2af09d..d59a8c6071 100644 --- a/core/src/main/java/hudson/model/UpdateSite.java +++ b/core/src/main/java/hudson/model/UpdateSite.java @@ -105,7 +105,6 @@ import org.kohsuke.stapler.interceptor.RequirePOST; * @since 1.333 */ @ExportedBean -@SuppressFBWarnings(value = "THROWS_METHOD_THROWS_CLAUSE_BASIC_EXCEPTION", justification = "TODO needs triage") public class UpdateSite { /** * What's the time stamp of data file? diff --git a/core/src/main/java/hudson/triggers/SafeTimerTask.java b/core/src/main/java/hudson/triggers/SafeTimerTask.java index 5a261d0e9a..db07c96867 100644 --- a/core/src/main/java/hudson/triggers/SafeTimerTask.java +++ b/core/src/main/java/hudson/triggers/SafeTimerTask.java @@ -24,7 +24,6 @@ package hudson.triggers; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import hudson.model.AperiodicWork; import hudson.model.AsyncAperiodicWork; import hudson.model.AsyncPeriodicWork; @@ -48,7 +47,6 @@ import jenkins.util.Timer; * @author Kohsuke Kawaguchi * @since 1.124 */ -@SuppressFBWarnings(value = "THROWS_METHOD_THROWS_CLAUSE_BASIC_EXCEPTION", justification = "TODO needs triage") public abstract class SafeTimerTask extends TimerTask { /** diff --git a/core/src/main/java/hudson/util/InterceptingProxy.java b/core/src/main/java/hudson/util/InterceptingProxy.java index af368ac5bf..3ab7ebb0b3 100644 --- a/core/src/main/java/hudson/util/InterceptingProxy.java +++ b/core/src/main/java/hudson/util/InterceptingProxy.java @@ -1,6 +1,5 @@ package hudson.util; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.lang.reflect.InvocationHandler; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; @@ -11,7 +10,6 @@ import java.lang.reflect.Proxy; * * @author Kohsuke Kawaguchi */ -@SuppressFBWarnings(value = "THROWS_METHOD_THROWS_CLAUSE_THROWABLE", justification = "TODO needs triage") public abstract class InterceptingProxy { /** * Intercepts every method call. diff --git a/core/src/main/java/hudson/util/RobustReflectionConverter.java b/core/src/main/java/hudson/util/RobustReflectionConverter.java index d7ce1ab559..d1bc500003 100644 --- a/core/src/main/java/hudson/util/RobustReflectionConverter.java +++ b/core/src/main/java/hudson/util/RobustReflectionConverter.java @@ -44,7 +44,6 @@ import com.thoughtworks.xstream.io.HierarchicalStreamWriter; import com.thoughtworks.xstream.mapper.Mapper; import com.thoughtworks.xstream.security.InputManipulationException; import edu.umd.cs.findbugs.annotations.NonNull; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import hudson.diagnosis.OldDataMonitor; import hudson.model.Saveable; import hudson.security.ACL; @@ -78,7 +77,6 @@ import org.acegisecurity.Authentication; * * */ -@SuppressFBWarnings(value = "THROWS_METHOD_THROWS_RUNTIMEEXCEPTION", justification = "TODO needs triage") @SuppressWarnings({"rawtypes", "unchecked"}) public class RobustReflectionConverter implements Converter { diff --git a/core/src/main/java/jenkins/model/Jenkins.java b/core/src/main/java/jenkins/model/Jenkins.java index 170a694d86..d065df8065 100644 --- a/core/src/main/java/jenkins/model/Jenkins.java +++ b/core/src/main/java/jenkins/model/Jenkins.java @@ -338,7 +338,6 @@ import org.xml.sax.InputSource; * @author Kohsuke Kawaguchi */ @ExportedBean -@SuppressFBWarnings(value = "THROWS_METHOD_THROWS_CLAUSE_BASIC_EXCEPTION", justification = "TODO needs triage") public class Jenkins extends AbstractCIBase implements DirectlyModifiableTopLevelItemGroup, StaplerProxy, StaplerFallback, ModifiableViewGroup, AccessControlled, DescriptorByNameOwner, ModelObjectWithContextMenu, ModelObjectWithChildren, OnMaster { diff --git a/core/src/main/java/jenkins/model/Nodes.java b/core/src/main/java/jenkins/model/Nodes.java index 013860ecca..6c06cbbf92 100644 --- a/core/src/main/java/jenkins/model/Nodes.java +++ b/core/src/main/java/jenkins/model/Nodes.java @@ -26,7 +26,6 @@ package jenkins.model; import edu.umd.cs.findbugs.annotations.CheckForNull; import edu.umd.cs.findbugs.annotations.NonNull; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import hudson.BulkChange; import hudson.Util; import hudson.XmlFile; @@ -62,7 +61,6 @@ import org.kohsuke.accmod.restrictions.NoExternalUse; * @since 1.607 */ @Restricted(NoExternalUse.class) // for now, we may make it public later -@SuppressFBWarnings(value = "THROWS_METHOD_THROWS_CLAUSE_BASIC_EXCEPTION", justification = "TODO needs triage") public class Nodes implements Saveable { /** diff --git a/core/src/main/java/jenkins/model/PeepholePermalink.java b/core/src/main/java/jenkins/model/PeepholePermalink.java index 824e9286c3..256dc438d4 100644 --- a/core/src/main/java/jenkins/model/PeepholePermalink.java +++ b/core/src/main/java/jenkins/model/PeepholePermalink.java @@ -2,7 +2,6 @@ package jenkins.model; import edu.umd.cs.findbugs.annotations.CheckForNull; import edu.umd.cs.findbugs.annotations.NonNull; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import hudson.Extension; import hudson.Util; import hudson.model.Job; @@ -147,7 +146,6 @@ public abstract class PeepholePermalink extends Permalink implements Predicate load(@NonNull File buildDir) { Map cache = new TreeMap<>(); File storage = storageFor(buildDir); diff --git a/core/src/main/java/jenkins/model/TransientActionFactory.java b/core/src/main/java/jenkins/model/TransientActionFactory.java index 19d661b5a4..73b211751c 100644 --- a/core/src/main/java/jenkins/model/TransientActionFactory.java +++ b/core/src/main/java/jenkins/model/TransientActionFactory.java @@ -28,7 +28,6 @@ import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; import edu.umd.cs.findbugs.annotations.NonNull; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import hudson.ExtensionList; import hudson.ExtensionListListener; import hudson.ExtensionPoint; @@ -49,7 +48,6 @@ import org.kohsuke.accmod.restrictions.NoExternalUse; * @see Actionable#getAllActions * @since 1.548 */ -@SuppressFBWarnings(value = "THROWS_METHOD_THROWS_CLAUSE_BASIC_EXCEPTION", justification = "TODO needs triage") public abstract class TransientActionFactory implements ExtensionPoint { /** diff --git a/core/src/main/java/jenkins/scm/RunWithSCM.java b/core/src/main/java/jenkins/scm/RunWithSCM.java index 663da37978..5c784b175f 100644 --- a/core/src/main/java/jenkins/scm/RunWithSCM.java +++ b/core/src/main/java/jenkins/scm/RunWithSCM.java @@ -26,7 +26,6 @@ package jenkins.scm; import edu.umd.cs.findbugs.annotations.CheckForNull; import edu.umd.cs.findbugs.annotations.NonNull; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import hudson.model.Job; import hudson.model.Result; import hudson.model.Run; @@ -48,7 +47,6 @@ import org.kohsuke.stapler.export.Exported; * * @since 2.60 */ -@SuppressFBWarnings(value = "NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE", justification = "TODO needs triage") public interface RunWithSCM, RunT extends Run & RunWithSCM> { diff --git a/core/src/main/java/jenkins/security/ImpersonatingExecutorService.java b/core/src/main/java/jenkins/security/ImpersonatingExecutorService.java index 1fd8bfdca1..4a2249dd4f 100644 --- a/core/src/main/java/jenkins/security/ImpersonatingExecutorService.java +++ b/core/src/main/java/jenkins/security/ImpersonatingExecutorService.java @@ -24,7 +24,6 @@ package jenkins.security; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import hudson.security.ACL; import hudson.security.ACLContext; import java.util.concurrent.Callable; @@ -37,7 +36,6 @@ import org.springframework.security.core.Authentication; * @see SecurityContextExecutorService * @since 2.51 */ -@SuppressFBWarnings(value = "THROWS_METHOD_THROWS_CLAUSE_BASIC_EXCEPTION", justification = "TODO needs triage") public final class ImpersonatingExecutorService extends InterceptingExecutorService { private final Authentication authentication; diff --git a/core/src/main/java/jenkins/security/ImpersonatingScheduledExecutorService.java b/core/src/main/java/jenkins/security/ImpersonatingScheduledExecutorService.java index eb0e7ee831..992213547a 100644 --- a/core/src/main/java/jenkins/security/ImpersonatingScheduledExecutorService.java +++ b/core/src/main/java/jenkins/security/ImpersonatingScheduledExecutorService.java @@ -24,7 +24,6 @@ package jenkins.security; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import hudson.security.ACL; import hudson.security.ACLContext; import java.util.concurrent.Callable; @@ -36,7 +35,6 @@ import org.springframework.security.core.Authentication; * Variant of {@link ImpersonatingExecutorService} for scheduled services. * @since 2.51 */ -@SuppressFBWarnings(value = "THROWS_METHOD_THROWS_CLAUSE_BASIC_EXCEPTION", justification = "TODO needs triage") public final class ImpersonatingScheduledExecutorService extends InterceptingScheduledExecutorService { private final Authentication authentication; diff --git a/core/src/main/java/jenkins/security/SecurityContextExecutorService.java b/core/src/main/java/jenkins/security/SecurityContextExecutorService.java index 6813f36ea5..372003f0df 100644 --- a/core/src/main/java/jenkins/security/SecurityContextExecutorService.java +++ b/core/src/main/java/jenkins/security/SecurityContextExecutorService.java @@ -27,7 +27,6 @@ package jenkins.security; import static org.springframework.security.core.context.SecurityContextHolder.getContext; import static org.springframework.security.core.context.SecurityContextHolder.setContext; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import jenkins.util.InterceptingExecutorService; @@ -44,7 +43,6 @@ import org.springframework.security.core.context.SecurityContext; * @author Kohsuke Kawaguchi * @since 1.561 */ -@SuppressFBWarnings(value = "THROWS_METHOD_THROWS_CLAUSE_BASIC_EXCEPTION", justification = "TODO needs triage") public class SecurityContextExecutorService extends InterceptingExecutorService { public SecurityContextExecutorService(ExecutorService service) { diff --git a/core/src/main/java/jenkins/util/AtmostOneTaskExecutor.java b/core/src/main/java/jenkins/util/AtmostOneTaskExecutor.java index 3e7dd9f0f3..6347842856 100644 --- a/core/src/main/java/jenkins/util/AtmostOneTaskExecutor.java +++ b/core/src/main/java/jenkins/util/AtmostOneTaskExecutor.java @@ -44,7 +44,6 @@ import jenkins.security.ImpersonatingExecutorService; * @author Kohsuke Kawaguchi * @see AtmostOneThreadExecutor */ -@SuppressFBWarnings(value = "THROWS_METHOD_THROWS_CLAUSE_BASIC_EXCEPTION", justification = "TODO needs triage") public class AtmostOneTaskExecutor { private static final Logger LOGGER = Logger.getLogger(AtmostOneTaskExecutor.class.getName()); diff --git a/core/src/main/java/jenkins/util/ContextResettingExecutorService.java b/core/src/main/java/jenkins/util/ContextResettingExecutorService.java index 6ef15fd016..f6a8c0407a 100644 --- a/core/src/main/java/jenkins/util/ContextResettingExecutorService.java +++ b/core/src/main/java/jenkins/util/ContextResettingExecutorService.java @@ -1,6 +1,5 @@ package jenkins.util; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; @@ -12,7 +11,6 @@ import java.util.concurrent.ExecutorService; * * @author Kohsuke Kawaguchi */ -@SuppressFBWarnings(value = "THROWS_METHOD_THROWS_CLAUSE_BASIC_EXCEPTION", justification = "TODO needs triage") public class ContextResettingExecutorService extends InterceptingExecutorService { public ContextResettingExecutorService(ExecutorService base) { super(base); diff --git a/core/src/main/java/jenkins/util/ProgressiveRendering.java b/core/src/main/java/jenkins/util/ProgressiveRendering.java index b71482da2d..42ef0b7686 100644 --- a/core/src/main/java/jenkins/util/ProgressiveRendering.java +++ b/core/src/main/java/jenkins/util/ProgressiveRendering.java @@ -25,7 +25,6 @@ package jenkins.util; import edu.umd.cs.findbugs.annotations.NonNull; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import hudson.model.AbstractItem; import java.lang.reflect.Field; import java.lang.reflect.InvocationHandler; @@ -74,7 +73,6 @@ import org.springframework.security.core.context.SecurityContextHolder; * {@code ui-samples-plugin} demonstrates all this. * @since 1.484 */ -@SuppressFBWarnings(value = "THROWS_METHOD_THROWS_CLAUSE_THROWABLE", justification = "TODO needs triage") public abstract class ProgressiveRendering { private static final Logger LOG = Logger.getLogger(ProgressiveRendering.class.getName()); diff --git a/core/src/main/java/jenkins/util/io/PathRemover.java b/core/src/main/java/jenkins/util/io/PathRemover.java index 7a47ba23b6..06d611febc 100644 --- a/core/src/main/java/jenkins/util/io/PathRemover.java +++ b/core/src/main/java/jenkins/util/io/PathRemover.java @@ -214,7 +214,6 @@ public class PathRemover { return accumulatedErrors; } - @SuppressFBWarnings(value = "RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE", justification = "https://github.com/spotbugs/spotbugs/issues/756") private List tryRemoveDirectoryContents(@NonNull Path path) { Path normalized = path.normalize(); List accumulatedErrors = new ArrayList<>(); @@ -229,7 +228,6 @@ public class PathRemover { return accumulatedErrors; } - @SuppressFBWarnings(value = "RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE", justification = "https://github.com/spotbugs/spotbugs/issues/756") private void removeOrMakeRemovableThenRemove(@NonNull Path path) throws IOException { pathChecker.check(path); try { diff --git a/core/src/main/java/org/acegisecurity/providers/dao/AbstractUserDetailsAuthenticationProvider.java b/core/src/main/java/org/acegisecurity/providers/dao/AbstractUserDetailsAuthenticationProvider.java index 7b8d5f5afb..1eaf27beac 100644 --- a/core/src/main/java/org/acegisecurity/providers/dao/AbstractUserDetailsAuthenticationProvider.java +++ b/core/src/main/java/org/acegisecurity/providers/dao/AbstractUserDetailsAuthenticationProvider.java @@ -24,7 +24,6 @@ package org.acegisecurity.providers.dao; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import org.acegisecurity.AcegiSecurityException; import org.acegisecurity.Authentication; import org.acegisecurity.AuthenticationException; @@ -36,7 +35,6 @@ import org.acegisecurity.userdetails.UserDetails; * @deprecated use {@link org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider} */ @Deprecated -@SuppressFBWarnings(value = "THROWS_METHOD_THROWS_RUNTIMEEXCEPTION", justification = "TODO needs triage") public abstract class AbstractUserDetailsAuthenticationProvider implements AuthenticationProvider { private final org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider delegate = diff --git a/core/src/spotbugs/excludesFilter.xml b/core/src/spotbugs/excludesFilter.xml index 99921b2461..6f1d90c620 100644 --- a/core/src/spotbugs/excludesFilter.xml +++ b/core/src/spotbugs/excludesFilter.xml @@ -64,9 +64,7 @@ - - - + @@ -113,7 +111,6 @@ - @@ -128,9 +125,7 @@ - - - + @@ -334,13 +329,6 @@ - - - - - - - @@ -349,163 +337,13 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/war/src/main/java/executable/Main.java b/war/src/main/java/executable/Main.java index 45343d604c..7526cd2a38 100644 --- a/war/src/main/java/executable/Main.java +++ b/war/src/main/java/executable/Main.java @@ -182,8 +182,8 @@ public class Main { } @SuppressFBWarnings( - value = {"PATH_TRAVERSAL_IN", "THROWS_METHOD_THROWS_RUNTIMEEXCEPTION"}, - justification = "User provided values for running the program and intentional propagation of reflection errors") + value = "PATH_TRAVERSAL_IN", + justification = "User provided values for running the program") public static void main(String[] args) throws IllegalAccessException { try { verifyJavaVersion(getReleaseVersion(), isFutureJavaEnabled(args));