drools-eclipse/org.guvnor.eclipse.webdav/src/client/org/eclipse/webdav/client/AbstractResourceHandle.java
protected ILocator protectedCheckOut() throws DAVException {
        IResponse response = null;
        try {
            response = davClient.checkout(locator, newContext(), null);
            examineResponse(response);
            String resourceUrl = response.getContext().getLocation();
            return davClient.getDAVFactory().newStableLocator(resourceUrl);
        } catch (IOException e) {
            throw new SystemException(e);
        } finally {
            closeResponse(response);
        }
    }
protected ILocator protectedCheckOut() throws DAVException {
        IResponse response = null;
        try {
            response = davClient.checkout(locator, newContext(), null);
            examineResponse(response);
            String resourceUrl = response.getContext().getLocation();
            return davClient.getDAVFactory().newStableLocator(resourceUrl);
        } catch (IOException e) {
            throw new SystemException(e);
        } finally {
            closeResponse(response);
        }
    }
Check out the receiver and answer a new Locator on the
resulting checked out resource.  The result MAY be the same
as the receiver's Locator if the server did not create
a new resource as a consequence of the check out (i.e.
if it was checking out a vesion-controlled resource rather
than a version).

@return the <code>Locator</code> to the receiver's version.
@throws DAVException if a problem occurs with the check in request.