Created attachment 30449 [details] patch The problem appears in version 7.0.41 and in revision 1493861. I attached a two-line patch that fixes it. In method "WebdavServlet.isLocked", the two loops over "tokenList" should break immediately after "tokenMatch" is set to "true". All the iterations after "tokenMatch" is set to "true" do not perform any useful work, at best they just set "tokenMatch" again to "true". Method "startInternal" in class "StandardHost" has a similar loop (over "valves"), and this loop breaks immediately after "found" is set to "true", just like in the proposed patch. Other methods (e.g., "MapperListener.findDefaultHost", "CollectVisitor.checkSeen", "JspDocumentParser.processChars", "ParameterParser.isOneOf") also have similar loops with similar breaks, just like in the proposed patch.
Thanks for the patch. It has been applied to trunk and 7.0.x and will be included in 7.0.42 onwards.