code: function Validation(schema, custom) {
  		Inspection.prototype.constructor.call(this, schema, _merge(Validation.custom, custom));
  		var _error = [];
  
  		this._basicFields = Object.keys(_validationAttribut);
  		this._customFields = Object.keys(this._custom);
  		this.origin = null;
  
  		this.report = function (message, code, reason) {
  			var newErr = {
  				code: code || this.userCode || null,
  				reason: reason || 'unknown',
  				message: this.userError || message || 'is invalid',
  				property: this.userAlias ? (this.userAlias + ' (' + this._dumpStack() + ')') : this._dumpStack()
  			};
  			_error.push(newErr);
  			return this;
  		};
  
  		this.result = function () {
  			return {
  				error: _error,
  				valid: _error.length === 0,
  				format: function () {
  					if (this.valid === true) {
  						return 'Candidate is valid';
  					}
  					return this.error.map(function (i) {
  						return 'Property ' + i.property + ': ' + i.message;
  					}).join('\n');
  				}
  			};
  		};
  	}
docs: Validation Class ---------------------------------------------------------- inherits from Inspection class (actually we just call Inspection constructor with the new context, because its prototype is empty