I experienced it while using WebDAV UI client from the src/contrib/ directory. I'd suspect that, like in the LockMethod, a check (this.state instanceof WebdavState) should be performed before casting. Stack trace follows: ------------------------- java.lang.ClassCastException: org.apache.commons.httpclient.State at org.apache.webdav.lib.methods.UnlockMethod.parseResponse(UnlockMethod.java:175) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:668) at org.apache.webdav.ui.lib.methods.SPUnlockMethod.execute(SPUnlockMethod.java:107) at org.apache.webdav.ui.lab.HostFrame.executeChosenMethod(HostFrame.java:187) at org.apache.webdav.ui.lab.HostFrame.okButton_actionPerformed(HostFrame.java:204) at org.apache.webdav.ui.lab.HostFrame_okButton_actionAdapter.actionPerformed(HostFrame.java:534) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)