docs: function parseCommonCliOption(errstream, clientOpts, options, option) {
      var p, log;
  
      assert.object(errstream, 'errstream');
      assert.object(clientOpts, 'clientOpts');
      assert.object(options, 'options');
      assert.string(options.cmdName, 'options.cmdName');
      assert.object(option, 'option');
  
      switch (option.option) {
      case 'A':
          clientOpts.collector = artedi.createCollector({labels: {
              cmdName: options.cmdName
          }});
          break;
  
      case 'b':
          if (!clientOpts.hasOwnProperty('cueballOptions')) {
              clientOpts.cueballOptions = {};
          }
  
          clientOpts.cueballOptions.resolvers = [ option.optarg ];
          break;
  
      case 'h':
          clientOpts.host = option.optarg;
          break;
  
      case 'p':
          p = parseTcpPort(option.optarg);
          if (p === null) {
              fprintf(errstream, '-p/--port: expected valid TCP port\n');
              return (false);
          }
          clientOpts.port = p;
          break;
  
      case 'S':
          if (!validateSrvDomain(errstream, option.optarg)) {
              return (false);
          }
  
          clientOpts.srvDomain = option.optarg;
          break;
  
      case 'v':
          /*
           * This allows "-v" to be used multiple times and ensures that we
           * never wind up at a level less than TRACE.
           */
          log = clientOpts.log;
          log.level(Math.max(bunyan.TRACE, (log.level() - 10)));
          if (log.level() <= bunyan.DEBUG)
              log = log.child({src: true});
          break;
  
      default:
          throw (new Error('tried to parse non-common option'));
      }
  
      return (true);
  }