function conforms(fn) {
			var originalFlag = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;

			return Boolean(fn(originalFlat ? this : deepClone(this)));
		}
/**
   * Tells if an object matches the criteria of a function provided. In this method we leave most to the user in the function passed.
   * @param {Function} fn The function to test on the object
   * @param {boolean} [originalFlag=false] Whether to give the function the original object
   * @returns {boolean} Whether the object matches criteria
   * @memberof XtraUtils.Object#
   * @example
   * // returns false
   * let obj = {
   *   a: 1
   * };
   * obj.conforms(function(obj){return obj.a == 2});
   * @example
   * // returns true
   * let obj = {
   *   b: 2
   * };
   * obj.conforms(function(obj) { return obj.b == 2});
   */
Tells if an object matches the criteria of a function provided. In this method we leave most to the user in the function passed.
Tells if an object matches the criteria of a function provided . In this method we leave most to the user in the function passed .
function conforms(fn) {
			var originalFlag = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
			return Boolean(fn(originalFlat ? this : deepClone(this)));
		}
function conforms ( fn ) { var originalFlag = arguments . length > 1 && arguments [ 1 ] !== undefined ? arguments [ 1 ] : false ; return Boolean ( fn ( originalFlat ? this : deepClone ( this ) ) ) ; }
Tells if an object matches the criteria of a function provided.
Tells if an object matches the criteria of a function provided .