*/
protected void initProperties() {
super.initProperties();
if (exists()) {
Version v = (Version)item;
// created and creationDate properties
try {
String creationDate = DavConstants.creationDateFormat.format(v.getCreated().getTime());
// replace dummy creation date from default collection
properties.add(new DefaultDavProperty(DavPropertyName.CREATIONDATE, creationDate));
// required, protected DAV:version-name property
properties.add(new DefaultDavProperty(VERSION_NAME, v.getName(), true));
// required, protected DAV:label-name-set property
String[] labels = getVersionHistoryItem().getVersionLabels(v);
properties.add(new LabelSetProperty(labels));
// required DAV:predecessor-set (protected) and DAV:successor-set (computed) properties
addHrefProperty(VersionResource.PREDECESSOR_SET, v.getPredecessors(), true);
addHrefProperty(SUCCESSOR_SET, v.getSuccessors(), true);
// required DAV:version-history (computed) property
String vhHref = getLocatorFromItem(getVersionHistoryItem()).getHref(true);
properties.add(new HrefProperty(VersionResource.VERSION_HISTORY, vhHref, true));
// required DAV:checkout-set (computed) property
PropertyIterator it = v.getReferences();
List nodeList = new ArrayList();
while (it.hasNext()) {
Property p = it.nextProperty();
if (JcrConstants.JCR_BASEVERSION.equals(p.getName())) {
Node n = p.getParent();