docs: protected void performTypeValidation(String path, Object type, Object value, List<ValidationResult> results) {
  		// If type it not defined then skip
  		if (type == null)
  			return;
  
  		// Perform validation against schema
  		if (type instanceof Schema) {
  			Schema schema = (Schema) type;
  			schema.performValidation(path, value, results);
  			return;
  		}
  
  		// If value is null then skip
  		value = ObjectReader.getValue(value);
  		if (value == null)
  			return;
  
  		String name = path != null ? path : "value";
  		Class<?> valueType = value.getClass();
  
  		// Match types
  		if (TypeMatcher.matchType(type, valueType))
  			return;
  
  		// Generate type mismatch error
  		results.add(new ValidationResult(path, ValidationResultType.Error, "TYPE_MISMATCH",
  				name + " type must be " + type + " but found " + valueType, type, valueType));
  	}