@Override
  public void addServlet(final ServletModel model) {
    LOG.debug("add servlet [{}]", model);
    final Context context = findOrCreateContext(model.getContextModel());
    final String servletName = model.getName();
    // Wrapper wrapper = Tomcat.addServlet( context, servletName,
    // model.getServlet() );

    Wrapper sw = null;

    if (model.getServlet() == null) {
      // will do class for name and set init params
      sw = context.createWrapper();
    } else {
      sw =
          new ExistingStandardWrapper(model.getServlet()) {

            @Override
            protected void initInternal() throws LifecycleException {
              super.initInternal();
              try {
                super.loadServlet();
              } catch (final ServletException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
              }
            }
          };
    }

    sw.setName(servletName);
    context.addChild(sw);

    addServletMappings(context, servletName, model.getUrlPatterns());
    addInitParameters(sw, model.getInitParams());
  }