code: function(fields, compareValue, options) {
              fields  = this.__resolveFields(fields);
              options = this.__resolveOptions(options);
  
              var property = fields.shift();
  
              if (options.check) {
                  this.__checkProperty(property, {
                      readable: true,
                      method:   'is',
                      params:   _.toArray(arguments)
                  });
              }
  
              var value  = this.__getPropertyValue([property].concat(fields), false);
              var result = !_.isUndefined(compareValue) ? value === compareValue : !!value;
  
              if (options.emit && this.__checkEmitEvent()) {
                  var prop = [property].concat(fields).join('.');
  
                  this.__emitEvent('property.' +  prop + '.is',  result);
                  this.__emitEvent('property.is', prop, result);
              }
  
              return result;
          }
docs: Checker whether property value is equals specified one.
  If value does not specified - checks whether property value is not false
  
  @param {string|array} fields         Property fields
  @param {*}            compareValue   Value for comparison
  @param {object}       options        Options (emit, check)
  
  @returns {booelan} true if property value is equals to specified or or is not false
  
  @this {clazz|object}