KRunOptions { public boolean io() { if (io != null && io == true && search()) { throw KEMException.criticalError("You cannot specify both --io on and --search"); } if (io != null && io == true && experimental.ltlmc()) { throw KEMException.criticalError("You cannot specify both --io on and --ltlmc"); } if (search() || experimental.ltlmc()) { return false; } if (io == null) { return true; } return io; }  boolean io(); boolean search(); SearchType searchType(); @ParametersDelegate
    transient GlobalOptions global; @ParametersDelegate
    public ConfigurationCreationOptions configurationCreation; @ParametersDelegate
    public BackendOptions backend; @ParametersDelegate
    public PrintOptions print; @Parameter(names="--search", description="In conjunction with it you can specify 3 options that are optional: pattern (the pattern used for search), bound (the number of desired solutions) and depth (the maximum depth of the search).")
    public boolean search; @Parameter(names="--pattern", description="Specify a term and/or side condition that the result of execution or search must match in order to succeed. Return the resulting matches as a list of substitutions. In conjunction with it you can specify other 2 options that are optional: bound (the number of desired solutions) and depth (the maximum depth of the search).")
    public String pattern; @Parameter(names="--bound", description="The number of desired solutions for search.")
    public Integer bound; @Parameter(names="--depth", description="The maximum number of computational steps to execute or search the definition for.")
    public Integer depth; @Parameter(names="--graph", description="Displays the search graph generated by the last search.")
    public boolean graph; @ParametersDelegate
    public Experimental experimental; }
@Test public void testOn() { KRunOptions options = new KRunOptions(); new JCommander(options, "--statistics", "on", "--io", "on"); assertTrue(options.experimental.statistics); assertTrue(options.io()); }
@Test public void testOff() { KRunOptions options = new KRunOptions(); new JCommander(options, "--statistics", "off", "--io", "off"); assertFalse(options.experimental.statistics); assertFalse(options.io()); }