code: function captureBooleans(expressionChain) {
          var booleans = expressionChain.match(REGEXP_BOOLS);
  
          if (booleans) {
              var heterogeneousOperator = booleans.find(function(op, i) {
                  booleans[i] = op.toLowerCase();
                  return booleans[i] !== booleans[0];
              });
  
              if (heterogeneousOperator) {
                  throw new Error([
                      'Expected homogeneous boolean operators.',
                      'You cannot mix <code>AND</code>, <code>OR</code>, and <code>NOR</code> operators here.',
                      '(Everything after your <code style="color:red">' + heterogeneousOperator.toUpperCase() + '</code> was ignored.)',
                      '<i>Tip: You can create more complex filters by using Manage Filters.</i>'
                  ].join('<br>'));
              }
          }
  
          return booleans;
      }
docs: @summary Extract the boolean operators from an expression chain.
  @desc Returns list of homogeneous operators transformed to lower case.
  
  Throws an error if all the boolean operators in the chain are not identical.
  @param {string} expressionChain
  @returns {string[]}