public AgentBootstrapperArgs parse(String... args) {
        AgentBootstrapperArgs result = new AgentBootstrapperArgs();
        try {
            new JCommander(result).parse(args);

            if (result.help) {
                printUsageAndExit(0);
            }

            return result;
        } catch (ParameterException e) {
            stderr.println(e.getMessage());
            printUsageAndExit(1);
        }

        return null;
    }
@Test
    public void shouldRaisExceptionWhenInvalidSslModeIsPassed() {
        assertThatCode(() -> agentCLI.parse("-serverUrl", "https://go.example.com/go", "-sslVerificationMode", "FOOBAR"))
                .isInstanceOf(ExitException.class)
                .satisfies(o -> assertThat(((ExitException) o).getStatus()).isEqualTo(1));

        assertThat(errorStream.toString()).contains("Invalid value for -sslVerificationMode parameter. Allowed values:[FULL, NONE, NO_VERIFY_HOST]");
        assertThat(errorStream.toString()).contains("Usage: java -jar agent-bootstrapper.jar");
    }