function doesValueMatch (aMatchers, vValue) {
			var vOriginalValue = vValue;
			var bIsMatching = aMatchers.every(function (oMatcher) {
				var vMatch;
				if (vValue) {
					vMatch = oMatcher.isMatching(vValue);
				} else {
					vMatch = oMatcher.isMatching();
				}

				if (vMatch) {
					if (vMatch !== true) {
						// Save truthy values, they will be the input for the next matcher
						vValue = vMatch;
					}
					return true;
				}
				return false;
			});

			if (bIsMatching) {
				// Return the new value if it changed from the original value after processing all the matchers.
				return (vOriginalValue === vValue) ? true : vValue;
			}

			return false;
		}
Checks if a value matches all the matchers and returns result of matching
@private