public Object internalGet(String key) {
      if (super.internalContainsKey(key)) return super.internalGet(key);

      if (stack.test(key)) return stack.findValue(key);

      return container.getComponent(key);
    }
    public boolean internalContainsKey(java.lang.Object key) {
      boolean contains = super.internalContainsKey(key);
      if (contains) return contains;

      contains = stack.test(key.toString());
      if (contains) return contains;

      return container.getComponentAdapter(key) != null;
    }
 protected Context createContext(
     javax.servlet.http.HttpServletRequest request,
     javax.servlet.http.HttpServletResponse response) {
   Context ctx =
       new NanocontainerVelocityContext(
           ServletFilter.getRequestContainerForThread(), ServletValueStack.getStack(request));
   ctx.put(REQUEST, request);
   ctx.put(RESPONSE, response);
   return ctx;
 }