This change destroy behaviour of old Icefaces apps with error
SEVERE: Error Rendering View[/zad.jspx]
java.lang.IllegalStateException: Component ID zadFrm:ice_fileEntry_encodedURL has already been found in the view.
	at com.sun.faces.util.Util.checkIdUniqueness(Util.java:987)
	at com.sun.faces.util.Util.checkIdUniqueness(Util.java:971)
	at com.sun.faces.util.Util.checkIdUniqueness(Util.java:971)
	at com.sun.faces.util.Util.checkIdUniqueness(Util.java:971)
	at com.sun.faces.util.Util.checkIdUniqueness(Util.java:971)
	at com.sun.faces.util.Util.checkIdUniqueness(Util.java:971)
	at com.sun.faces.util.Util.checkIdUniqueness(Util.java:971)
	at com.sun.faces.application.view.FaceletPartialStateManagementStrategy.saveView(FaceletPartialStateManagementStrategy.java:461)
	at com.sun.faces.application.StateManagerImpl.saveView(StateManagerImpl.java:89)
	at javax.faces.application.StateManager.getViewState(StateManager.java:593)
	at com.icesoft.faces.context.CompatDOMPartialViewContext$WriteViewStateMarkup.write(CompatDOMPartialViewContext.java:65)
	at org.icefaces.impl.util.DOMUtils.printNode(DOMUtils.java:378)
	at org.icefaces.impl.util.DOMUtils.printNode(DOMUtils.java:355)
	at org.icefaces.impl.util.DOMUtils.printNodeCDATA(DOMUtils.java:286)
	at org.icefaces.impl.context.DOMPartialViewContext.processPartial(DOMPartialViewContext.java:262)
	at javax.faces.component.UIViewRoot.encodeChildren(UIViewRoot.java:1004)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1896)
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:425)
	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563)
  
    
Since FileEntry posts back to the same URL as the page it is on, it should be possible to record this URL and only wrap those matching incoming requests. A future version of FileEntry can make use of Servlet 3.0 and also not wrap the request when Servlet 3.0 API is available.