isCollection(), getGetContentLength(), getDisplayName(), etc. are undefined if exists() is false. Each method returns the previous resource's properties. Methods which return live properties should be defined similar to their java.io.File conterparts. As an example, isCollection() should return true if and only if the resource exists and is a collection. This is especially troubling when combined with NOACTION.