code: public final List<ValidationWarning> validate(List<ICalComponent> components, ICalVersion version) {
  		//validate property value
  		List<ValidationWarning> warnings = new ArrayList<ValidationWarning>(0);
  		validate(components, version, warnings);
  
  		//validate parameters
  		warnings.addAll(parameters.validate(version));
  
  		return warnings;
  	}
docs: <p>
  Checks the property for data consistency problems or deviations from the
  specifications.
  </p>
  <p>
  The existence of validation warnings will not prevent the property object
  from being written to a data stream. Syntactically-correct output will
  still be produced. However, the consuming application may have trouble
  interpreting some of the data due to the presence of these warnings.
  </p>
  <p>
  These problems can largely be avoided by reading the Javadocs of the
  component and property classes, or by being familiar with the iCalendar
  standard.
  </p>
  @param components the hierarchy of components that the property belongs
  to
  @param version the version to validate against
  @see ICalendar#validate
  @return a list of warnings or an empty list if no problems were found