class ServletContainerImpl implements ServletContainer {

    @Override
    public Servlet getServletForClass(final Class<? extends HttpServlet> servletClass, final ServletConfig servletConfig)
            throws ServletInitializationException, ServletException {

        if (servlets.containsKey(servletClass)) {
            servletStats.get(servletClass).setLastRequestedAt(dateProvider.now());
            return servlets.get(servletClass);
        }

        return initializeServlet(servletClass, servletConfig);
    }

    public  ServletContainerImpl(final DateProvider dateProvider,
                                final long servletTimeToLiveInMs,
                                final long monitoringIntervalInMs);

}