code: public ReturnValue execute(final ICommandLine cl) throws BadThresholdException {
          ThresholdsEvaluatorBuilder thrb = new ThresholdsEvaluatorBuilder();
          configureThresholdEvaluatorBuilder(thrb, cl);
          ReturnValueBuilder builder = ReturnValueBuilder.forPlugin(getPluginName(), thrb.create());
  
          try {
              Collection<Metric> metrics = gatherMetrics(cl);
  
              for (Metric m : metrics) {
                  builder.withValue(m);
              }
  
              return builder.create();
          } catch (MetricGatheringException mge) {
              return ReturnValueBuilder.forPlugin(getPluginName()).withForcedMessage(mge.getMessage()).withStatus(mge.getStatus()).create();
          }
  
      }
docs: Executes the plugin. You must override this method if you want total
  control about what the plugins does. Most of the times, however, you'll
  want to override the {@link #gatherMetrics(ICommandLine)} instead.
  
  @param cl
  The command line
  @return The return value to be sent to Nagios.
  @throws BadThresholdException
  -
  @see it.jnrpe.plugins.IPluginInterface#execute(ICommandLine)