Buggy code:
private final HttpSession session ; private String url ; private Map < String , MockHttpServletRequest . UploadedFile > uploadedFiles ; private boolean useMultiPartContentType ; public MockHttpServletRequest ( final Application application , final HttpSession session , final ServletContext context ) { } public void addCookie ( final Cookie cookie ) { } public void addCookies ( Iterable < Cookie > cookies ) { } public void addFile ( String fieldName , File file , String contentType ) { } public void addHeader ( String name , String value ) { } public void addDateHeader ( String name , long date ) { } public Object getAttribute ( final String name ) { } public Enumeration < String > getAttributeNames ( ) { } public String getAuthType ( ) { } public String getCharacterEncoding ( ) { } public void setUseMultiPartContentType ( boolean useMultiPartContentType ) { } public int getContentLength ( ) { } public String getContentType ( ) { } public String getContextPath ( ) { } public Cookie [ ] getCookies ( ) { } public long getDateHeader ( final String name ) throws IllegalArgumentException { } public String getHeader ( final String name ) { } public Enumeration < String > getHeaderNames ( ) { } public Enumeration < String > getHeaders ( final String name ) { } public ServletInputStream getInputStream ( ) throws IOException { } public int getIntHeader ( final String name ) { } public Locale getLocale ( ) { } private Locale getLocale ( final String value ) { } public Enumeration < Locale > getLocales ( ) { } public String getMethod ( ) { } public String getParameter ( final String name ) { } public Map < String , Object > getParameterMap ( ) { } public Enumeration < String > getParameterNames ( ) { } public String [ ] getParameterValues ( final String name ) { } public String getPathInfo ( ) { } public String getPathTranslated ( ) { } public String getProtocol ( ) { } public String getQueryString ( ) { } public BufferedReader getReader ( ) throws IOException { } @ Deprecated public String getRealPath ( String name ) { } public String getRemoteAddr ( ) { } public String getRemoteHost ( ) { } public String getRemoteUser ( ) { } public RequestDispatcher getRequestDispatcher ( String name ) { } public String getRequestedSessionId ( ) { } public String getRequestURI ( ) { } public StringBuffer getRequestURL ( ) { } public String getScheme ( ) { } public String getServerName ( ) { } public int getServerPort ( ) { } public String getServletPath ( ) { } public HttpSession getSession ( ) { } public HttpSession getSession ( boolean b ) { } public Principal getUserPrincipal ( ) { } public boolean hasUploadedFiles ( ) { } public void initialize ( ) { } public boolean isRequestedSessionIdFromCookie ( ) { } public boolean isRequestedSessionIdFromUrl ( ) { } public boolean isRequestedSessionIdFromURL ( ) { } public boolean isRequestedSessionIdValid ( ) { } public boolean isSecure ( ) { } public boolean isUserInRole ( String name ) { } public void removeAttribute ( final String name ) { } public void setAttribute ( final String name , final Object o ) { } public void setAuthType ( final String authType ) { } public void setCharacterEncoding ( final String encoding ) throws UnsupportedEncodingException { } public void setCookies ( final Cookie [ ] theCookies ) { } public void setMethod ( final String method ) { } public void setParameter ( final String name , final String value ) { } public void setParameters ( final Map < String , String [ ] > parameters ) { } public void setPath ( final String path ) { } public void setURL ( String url ) { } public void setRequestToBookmarkablePage ( final Page page , final Map < String , Object > params ) { } public void setRequestToComponent ( final Component component ) { } public void setRequestToFormComponent ( final Form < ? > form , final Map < String , Object > values ) { setRequestToComponent ( form ) ; final Map < String , Object > valuesApplied = new HashMap < String , Object > ( ) ; <START_BUG> form . visitChildren ( FormComponent . class , new Component . IVisitor < FormComponent < ? > > ( ) { <END_BUG> public Object component ( final FormComponent < ? > component ) { String value = ( ( String ) ( values . get ( component ) ) ) ; if ( value != null ) { parameters . put ( component . getInputName ( ) , values . get ( component ) ) ; valuesApplied . put ( component . getId ( ) , component ) ; } return CONTINUE_TRAVERSAL ; } } ) ; if ( ( values . size ( ) ) != ( valuesApplied . size ( ) ) ) { Map < String , Object > diff = new HashMap < String , Object > ( ) ; diff . putAll ( values ) ; Iterator < String > iter = valuesApplied . keySet ( ) . iterator ( ) ; while ( iter . hasNext ( ) ) { diff . remove ( iter . next ( ) ) ; } MockHttpServletRequest . log . error ( ( "Parameter<seq2seq4repair_space>mismatch:<seq2seq4repair_space>didn't<seq2seq4repair_space>find<seq2seq4repair_space>all<seq2seq4repair_space>components<seq2seq4repair_space>referenced<seq2seq4repair_space>in<seq2seq4repair_space>parameter<seq2seq4repair_space>'values':<seq2seq4repair_space>" + ( diff . keySet ( ) ) ) ) ; } } public void setRequestToRedirectString ( final String redirect ) { } private void setDefaultHeaders ( ) { } private static final String crlf = "\r\n" ; private static final String boundary = "--abcdefgABCDEFG" ; private void newAttachment ( OutputStream out ) throws IOException { } private byte [ ] buildRequest ( ) { } public String getLocalAddr ( ) { } public String getLocalName ( ) { } public int getLocalPort ( ) { } public int getRemotePort ( ) { } }

Fix:
form . visitChildren ( FormComponent . class , new IVisitor < FormComponent < ? > > ( ) {