docs: function (entity, options, callback) {
              if (options instanceof Function) {
                  callback = options;
                  options = {};
              }
  
              options = options || {};
  
              var self = this,
                  callbackInvoked = false;
  
              if (!this._validationRequired(entity)) {
                  internalCallback(null);
                  return;
              }
  
              try {
                  internalCallback(null, this._validate(entity, options));
              } catch(e) {
                  internalCallback(e);
              }
  
              function internalCallback(err, result) {
                  if (callbackInvoked) {
                      self.log('Validator returned twice. Ignore second return', Base.LOGLEVEL.WARN);
                      return;
                  }
  
                  callbackInvoked = true;
                  // returns an array of errors
                  callback(err, result);
              }
          }