extensions/webdav/src/main/java/uk/co/tfd/sm/milton/spase/SparseMiltonContentResource.java
public LockToken createAndLock(String name, LockTimeout timeout,
			LockInfo lockInfo) throws NotAuthorizedException {
		LOGGER.debug("Create And Lock {} {} ", timeout, lockInfo);

		try {
			String newPath = StorageClientUtils.newPath(path, name);
			LockHolder lockHolder = new LockHolder(lockInfo, timeout);
			String token = session.getLockManager().lock(newPath,
					lockHolder.getTimeoutInSeconds(), lockHolder.toString());
			return new LockToken(token, lockInfo, timeout);
		} catch (StorageClientException e) {
			LOGGER.error(e.getMessage(), e);
			throw new NotAuthorizedException(this);
		} catch (AlreadyLockedException e) {
			LOGGER.error(e.getMessage(), e);
			throw new NotAuthorizedException(this);
		}
	}
public LockToken createAndLock(String name, LockTimeout timeout,
			LockInfo lockInfo) throws NotAuthorizedException {
		LOGGER.debug("Create And Lock {} {} ", timeout, lockInfo);

		try {
			String newPath = StorageClientUtils.newPath(path, name);
			LockHolder lockHolder = new LockHolder(lockInfo, timeout);
			String token = session.getLockManager().lock(newPath,
					lockHolder.getTimeoutInSeconds(), lockHolder.toString());
			return new LockToken(token, lockInfo, timeout);
		} catch (StorageClientException e) {
			LOGGER.error(e.getMessage(), e);
			throw new NotAuthorizedException(this);
		} catch (AlreadyLockedException e) {
			LOGGER.error(e.getMessage(), e);
			throw new NotAuthorizedException(this);
		}
	}
========= LOCK Support ===============================