/* goodG2B() - use goodsource and badsink */
  private void goodG2B(HttpServletRequest request, HttpServletResponse response) throws Throwable {
    String data;

    /* FIX: Use a hardcoded string */
    data = "foo";

    CWE81_XSS_Error_Message__Servlet_getCookies_Servlet_81_base baseObject =
        new CWE81_XSS_Error_Message__Servlet_getCookies_Servlet_81_goodG2B();
    baseObject.action(data, request, response);
  }
  public void bad(HttpServletRequest request, HttpServletResponse response) throws Throwable {
    String data;

    data = ""; /* initialize data in case there are no cookies */

    /* Read data from cookies */
    {
      Cookie cookieSources[] = request.getCookies();
      if (cookieSources != null) {
        /* POTENTIAL FLAW: Read data from the first cookie value */
        data = cookieSources[0].getValue();
      }
    }

    CWE81_XSS_Error_Message__Servlet_getCookies_Servlet_81_base baseObject =
        new CWE81_XSS_Error_Message__Servlet_getCookies_Servlet_81_bad();
    baseObject.action(data, request, response);
  }