开源web框架源码问题!

今天想尝试一下rose框架的portal,看了一下它的内部实现,有一块代码不是很明白!不太懂下面的do{}while(true) 有什么用?求教!
代码的地址:http://paoding-rose.googlecode.com/svn/trunk/paoding-rose-portal/src/main/java/net/paoding/rose/web/portal/impl/PortalRequest.java

/**
 * 取出包装在里面的PortalRequest
 * 
 * @param request
 * @return
 */
public static PortalRequest unwrapPortalRequest(HttpServletRequest request) {
    do {
        if (request instanceof PortalRequest) {
            return (PortalRequest) request;
        } else if (request instanceof HttpServletRequestWrapper) {
            request = (HttpServletRequest) ((HttpServletRequestWrapper) request).getRequest();
        } else {
            return null;
        }
    } while (true);
}

循环啊。。
do{}while(boolean);
和while(){}基本一样,只不过先执行一遍在判断