Buggy code:
public class RequestImpl implements Request { protected String jvmRoute ; protected String requestURI ; protected String queryString ; protected String serverName = null ; protected Vector cookies = new Vector ( ) ; protected String contextPath ; protected String lookupPath ; protected String servletPath ; protected String pathInfo ; protected String pathTranslated ; protected boolean pathTranslatedIsSet = false ; protected Hashtable parameters = new Hashtable ( ) ; protected int contentLength = - 1 ; protected String contentType = null ; protected String charEncoding = null ; protected String authType ; protected String remoteUser ; protected Principal principal ; protected String [ ] userRoles ; protected Response response ; protected HttpServletRequest requestFacade ; protected Context context ; protected ContextManager contextM ; protected Hashtable attributes = new Hashtable ( ) ; protected boolean didReadFormData ; protected boolean didParameters ; protected boolean didCookies ; protected String reqSessionId ; protected String sessionIdSource ; protected HttpSession serverSession ; protected String servletName ; protected ServletWrapper handler = null ; Container container ; protected String mappedPath = null ; protected String scheme ; protected String method ; protected String protocol ; protected MimeHeaders headers ; protected ServletInputStream in ; protected int serverPort ; protected String remoteAddr ; protected String remoteHost ; protected String localHost ; protected ByteBuffer bBuffer ; protected static StringManager sm = StringManager . getManager ( "org.apache.tomcat.core" ) ; public RequestImpl ( ) { } public void setContext ( Context context ) { } public void setContextManager ( ContextManager cm ) { } public ContextManager getContextManager ( ) { } public String getScheme ( ) { } public String getMethod ( ) { } public String getRequestURI ( ) { } public String getQueryString ( ) { } public String getProtocol ( ) { } public String getServerName ( ) { } public void setServerName ( String serverName ) { } public String getLookupPath ( ) { } public void setLookupPath ( String l ) { } public String [ ] getParameterValues ( String name ) { } public Enumeration getParameterNames ( ) { } public String getAuthType ( ) { } public String getCharacterEncoding ( ) { } public int getContentLength ( ) { } public String getContentType ( ) { } public void setPathTranslated ( String s ) { } public String getPathTranslated ( ) { } public String getPathInfo ( ) { } public void setRemoteUser ( String s ) { } public String getRemoteUser ( ) { } public boolean isSecure ( ) { <START_BUG> return getProtocol ( ) . equalsIgnoreCase ( "HTTPS" ) ; <END_BUG> } public void setUserPrincipal ( Principal p ) { } public Principal getUserPrincipal ( ) { } public void setUserRoles ( String [ ] roles ) { } public String [ ] getUserRoles ( ) { } public boolean isUserInRole ( String role ) { } public String getServletPath ( ) { } public HttpServletRequest getFacade ( ) { } public Context getContext ( ) { } public void setResponse ( Response response ) { } public Response getResponse ( ) { } public String getJvmRoute ( ) { } public void setJvmRoute ( String jvmRoute ) { } public String getRequestedSessionId ( ) { } public void setRequestedSessionId ( String reqSessionId ) { } public String getSessionIdSource ( ) { } public void setSessionIdSource ( String s ) { } public void setSession ( HttpSession serverSession ) { } public HttpSession getSession ( boolean create ) { } public int getCookieCount ( ) { } public Cookie getCookie ( int idx ) { } public Cookie [ ] getCookies ( ) { } public ServletWrapper getWrapper ( ) { } public void setWrapper ( ServletWrapper handler ) { } public Container getContainer ( ) { } public void setContainer ( Container container ) { } public String getMappedPath ( ) { } public void setMappedPath ( String m ) { } public void setRequestURI ( String r ) { } public void setParameters ( Hashtable h ) { } public Hashtable getParameters ( ) { } public void setContentLength ( int len ) { } public void setContentType ( String type ) { } public void setCharEncoding ( String enc ) { } public void setAuthType ( String authType ) { } public void setPathInfo ( String pathInfo ) { } public void setQueryString ( String queryString ) { } public void setServletPath ( String servletPath ) { } public Object getAttribute ( String name ) { } public void setAttribute ( String name , Object value ) { } public void removeAttribute ( String name ) { } public Enumeration getAttributeNames ( ) { } public Enumeration getHeaders ( String name ) { } public BufferedReader getReader ( ) throws IOException { } private void handleParameters ( ) { } public void recycle ( ) { } public MimeHeaders getMimeHeaders ( ) { } public String getHeader ( String name ) { } public Enumeration getHeaderNames ( ) { } public ByteBuffer getInputBuffer ( ) { } public void setInputBuffer ( ByteBuffer buf ) { } public ServletInputStream getInputStream ( ) throws IOException { } public int getServerPort ( ) { } public String getRemoteAddr ( ) { } public String getRemoteHost ( ) { } public int doRead ( byte [ ] b , int off , int len ) throws IOException { } public int doRead ( ) throws IOException { } public String getServletPrefix ( ) { } public void setScheme ( String scheme ) { } public void setMethod ( String method ) { } public void setProtocol ( String protocol ) { } public void setMimeHeaders ( MimeHeaders headers ) { } public void setBody ( StringBuffer body ) { } public void setServerPort ( int serverPort ) { } public void setRemoteAddr ( String remoteAddr ) { } public void setRemoteHost ( String remoteHost ) { } public String getLocalHost ( ) { } public void setLocalHost ( String host ) { }

Fix:
return getScheme ( ) . equalsIgnoreCase ( "HTTPS" ) ;