protected ResourceResponse newResourceResponse(final IResource.Attributes attributes) {
   final ResourceResponse response = new ResourceResponse();
   if (this.lastModifiedTime != null) {
     response.setLastModified(this.lastModifiedTime);
   } else {
     response.setLastModified(Time.now());
   }
   if (response.dataNeedsToBeWritten(attributes)) {
     response.setContentType("image/" + this.getFormat());
     response.setContentDisposition(ContentDisposition.INLINE);
     final byte[] imageData = this.getImageData(attributes);
     if (imageData == null) {
       response.setError(404);
     } else {
       response.setWriteCallback(
           new WriteCallback() {
             public void writeData(final IResource.Attributes attributes) {
               attributes.getResponse().write(imageData);
             }
           });
       this.configureResponse(response, attributes);
     }
   }
   return response;
 }
  @Override
  public void serveResource(ResourceRequest portletReq, ResourceResponse portletResp)
      throws PortletException, IOException {
    LOGGER.entering(LOG_CLASS, "main portlet serveResource entry");

    long tid = Thread.currentThread().getId();
    portletReq.setAttribute(THREADID_ATTR, tid);

    PrintWriter writer = portletResp.getWriter();
  }
  @Override
  public void serveResource(ResourceRequest portletReq, ResourceResponse portletResp)
      throws PortletException, IOException {
    LOGGER.entering(LOG_CLASS, "main portlet serveResource entry");

    long tid = Thread.currentThread().getId();
    portletReq.setAttribute(THREADID_ATTR, tid);

    PrintWriter writer = portletResp.getWriter();

    // Now do the actual dispatch
    String target =
        SERVLET_PREFIX
            + "DispatcherTests_SPEC2_19_ForwardServletResource_servlet"
            + SERVLET_SUFFIX
            + "?"
            + QUERY_STRING;
    PortletRequestDispatcher rd = portletConfig.getPortletContext().getRequestDispatcher(target);
    rd.forward(portletReq, portletResp);
  }
  @Override
  public void serveResource(ResourceRequest portletReq, ResourceResponse portletResp)
      throws PortletException, IOException {
    LOGGER.entering(LOG_CLASS, "main portlet serveResource entry");

    long tid = Thread.currentThread().getId();
    portletReq.setAttribute(THREADID_ATTR, tid);

    PrintWriter writer = portletResp.getWriter();

    JSR286ApiTestCaseDetails tcd = new JSR286ApiTestCaseDetails();

    // Create result objects for the tests

    ClassChecker cc = new ClassChecker(portletResp.getCacheControl().getClass());

    /* TestCase: V2EnvironmentTests_CacheControl_ApiResource_getExpirationTime1 */
    /* Details: "Method getExpirationTime(): Returns the expiration time    */
    /* set through setExpirationTime"                                       */
    TestResult tr0 =
        tcd.getTestResultFailed(V2ENVIRONMENTTESTS_CACHECONTROL_APIRESOURCE_GETEXPIRATIONTIME1);
    /* TODO: implement test */
    tr0.appendTcDetail("Not implemented.");
    tr0.writeTo(writer);

    /* TestCase: V2EnvironmentTests_CacheControl_ApiResource_getExpirationTime2 */
    /* Details: "Method getExpirationTime(): Returns the default            */
    /* expiration time from the deployment descriptor if the expiration     */
    /* time has not been set"                                               */
    TestResult tr1 =
        tcd.getTestResultFailed(V2ENVIRONMENTTESTS_CACHECONTROL_APIRESOURCE_GETEXPIRATIONTIME2);
    /* TODO: implement test */
    tr1.appendTcDetail("Not implemented.");
    tr1.writeTo(writer);

    /* TestCase: V2EnvironmentTests_CacheControl_ApiResource_getExpirationTime3 */
    /* Details: "Method getExpirationTime(): Returns 0 if the expiration    */
    /* time has not been set and no default is set in the deployment        */
    /* descriptor"                                                          */
    TestResult tr2 =
        tcd.getTestResultFailed(V2ENVIRONMENTTESTS_CACHECONTROL_APIRESOURCE_GETEXPIRATIONTIME3);
    /* TODO: implement test */
    tr2.appendTcDetail("Not implemented.");
    tr2.writeTo(writer);

    /* TestCase: V2EnvironmentTests_CacheControl_ApiResource_setExpirationTime1 */
    /* Details: "Method setExpirationTime(int): Sets the expiration time    */
    /* for the current response to the specified value"                     */
    TestResult tr3 =
        tcd.getTestResultFailed(V2ENVIRONMENTTESTS_CACHECONTROL_APIRESOURCE_SETEXPIRATIONTIME1);
    /* TODO: implement test */
    tr3.appendTcDetail("Not implemented.");
    tr3.writeTo(writer);

    /* TestCase: V2EnvironmentTests_CacheControl_ApiResource_setExpirationTime2 */
    /* Details: "Method setExpirationTime(int): If the expiration value     */
    /* is set to 0, caching is disabled"                                    */
    TestResult tr4 =
        tcd.getTestResultFailed(V2ENVIRONMENTTESTS_CACHECONTROL_APIRESOURCE_SETEXPIRATIONTIME2);
    /* TODO: implement test */
    tr4.appendTcDetail("Not implemented.");
    tr4.writeTo(writer);

    /* TestCase: V2EnvironmentTests_CacheControl_ApiResource_setExpirationTime3 */
    /* Details: "Method setExpirationTime(int): If the expiration value     */
    /* is set to -1, the cache does not expire"                             */
    TestResult tr5 =
        tcd.getTestResultFailed(V2ENVIRONMENTTESTS_CACHECONTROL_APIRESOURCE_SETEXPIRATIONTIME3);
    /* TODO: implement test */
    tr5.appendTcDetail("Not implemented.");
    tr5.writeTo(writer);

    /* TestCase: V2EnvironmentTests_CacheControl_ApiResource_isPublicScope1 */
    /* Details: "Method isPublicScope(): Returns true if the caching        */
    /* scope has been set to public through the setPublicScope method"      */
    TestResult tr6 =
        tcd.getTestResultFailed(V2ENVIRONMENTTESTS_CACHECONTROL_APIRESOURCE_ISPUBLICSCOPE1);
    /* TODO: implement test */
    tr6.appendTcDetail("Not implemented.");
    tr6.writeTo(writer);

    /* TestCase: V2EnvironmentTests_CacheControl_ApiResource_isPublicScope2 */
    /* Details: "Method isPublicScope(): Returns true if the caching        */
    /* scope default has not been set with the setPublicScope method, but   */
    /* has been set to public in the deployment descriptor "                */
    TestResult tr7 =
        tcd.getTestResultFailed(V2ENVIRONMENTTESTS_CACHECONTROL_APIRESOURCE_ISPUBLICSCOPE2);
    /* TODO: implement test */
    tr7.appendTcDetail("Not implemented.");
    tr7.writeTo(writer);

    /* TestCase: V2EnvironmentTests_CacheControl_ApiResource_isPublicScope3 */
    /* Details: "Method isPublicScope(): Returns false if the caching       */
    /* scope has not been set with the setPublicScope method, but has       */
    /* been set to private through the setPublicScope method "              */
    TestResult tr8 =
        tcd.getTestResultFailed(V2ENVIRONMENTTESTS_CACHECONTROL_APIRESOURCE_ISPUBLICSCOPE3);
    /* TODO: implement test */
    tr8.appendTcDetail("Not implemented.");
    tr8.writeTo(writer);

    /* TestCase: V2EnvironmentTests_CacheControl_ApiResource_isPublicScope5 */
    /* Details: "Method isPublicScope(): Returns false if the caching       */
    /* scope has not been set with the setPublicScope method and has not    */
    /* been set in the deployment descriptor"                               */
    TestResult tr9 =
        tcd.getTestResultFailed(V2ENVIRONMENTTESTS_CACHECONTROL_APIRESOURCE_ISPUBLICSCOPE5);
    /* TODO: implement test */
    tr9.appendTcDetail("Not implemented.");
    tr9.writeTo(writer);

    /* TestCase: V2EnvironmentTests_CacheControl_ApiResource_setPublicScope1 */
    /* Details: "Method setPublicScope(boolean): If the input parameter     */
    /* is true, the cache scope is set to public"                           */
    TestResult tr10 =
        tcd.getTestResultFailed(V2ENVIRONMENTTESTS_CACHECONTROL_APIRESOURCE_SETPUBLICSCOPE1);
    /* TODO: implement test */
    tr10.appendTcDetail("Not implemented.");
    tr10.writeTo(writer);

    /* TestCase: V2EnvironmentTests_CacheControl_ApiResource_setPublicScope2 */
    /* Details: "Method setPublicScope(boolean): If the input parameter     */
    /* is false, the cache scope is set to non-public"                      */
    TestResult tr11 =
        tcd.getTestResultFailed(V2ENVIRONMENTTESTS_CACHECONTROL_APIRESOURCE_SETPUBLICSCOPE2);
    /* TODO: implement test */
    tr11.appendTcDetail("Not implemented.");
    tr11.writeTo(writer);

    /* TestCase: V2EnvironmentTests_CacheControl_ApiResource_getETag1       */
    /* Details: "Method getETag(): Returns a String containing the ETag     */
    /* for the current response"                                            */
    TestResult tr12 = tcd.getTestResultFailed(V2ENVIRONMENTTESTS_CACHECONTROL_APIRESOURCE_GETETAG1);
    /* TODO: implement test */
    tr12.appendTcDetail("Not implemented.");
    tr12.writeTo(writer);

    /* TestCase: V2EnvironmentTests_CacheControl_ApiResource_getETag2       */
    /* Details: "Method getETag(): Returns null if no ETag is set on the    */
    /* response"                                                            */
    TestResult tr13 = tcd.getTestResultFailed(V2ENVIRONMENTTESTS_CACHECONTROL_APIRESOURCE_GETETAG2);
    /* TODO: implement test */
    tr13.appendTcDetail("Not implemented.");
    tr13.writeTo(writer);

    /* TestCase: V2EnvironmentTests_CacheControl_ApiResource_setETag1       */
    /* Details: "Method setETag(String): Sets an ETag for the current       */
    /* response"                                                            */
    TestResult tr14 = tcd.getTestResultFailed(V2ENVIRONMENTTESTS_CACHECONTROL_APIRESOURCE_SETETAG1);
    /* TODO: implement test */
    tr14.appendTcDetail("Not implemented.");
    tr14.writeTo(writer);

    /* TestCase: V2EnvironmentTests_CacheControl_ApiResource_setETag2       */
    /* Details: "Method setETag(String): A previously-set ETag is           */
    /* overwritten"                                                         */
    TestResult tr15 = tcd.getTestResultFailed(V2ENVIRONMENTTESTS_CACHECONTROL_APIRESOURCE_SETETAG2);
    /* TODO: implement test */
    tr15.appendTcDetail("Not implemented.");
    tr15.writeTo(writer);

    /* TestCase: V2EnvironmentTests_CacheControl_ApiResource_setETag3       */
    /* Details: "Method setETag(String): Removes the ETag if the input      */
    /* parameter is null"                                                   */
    TestResult tr16 = tcd.getTestResultFailed(V2ENVIRONMENTTESTS_CACHECONTROL_APIRESOURCE_SETETAG3);
    /* TODO: implement test */
    tr16.appendTcDetail("Not implemented.");
    tr16.writeTo(writer);

    /* TestCase: V2EnvironmentTests_CacheControl_ApiResource_useCachedContent1 */
    /* Details: "Method useCachedContent(): Returns true if cached          */
    /* content has been set to valid through the setUseCachedContent        */
    /* method"                                                              */
    TestResult tr17 =
        tcd.getTestResultFailed(V2ENVIRONMENTTESTS_CACHECONTROL_APIRESOURCE_USECACHEDCONTENT1);
    /* TODO: implement test */
    tr17.appendTcDetail("Not implemented.");
    tr17.writeTo(writer);

    /* TestCase: V2EnvironmentTests_CacheControl_ApiResource_useCachedContent2 */
    /* Details: "Method useCachedContent(): Returns false if cached         */
    /* content has been set to invalid through the setUseCachedContent      */
    /* method"                                                              */
    TestResult tr18 =
        tcd.getTestResultFailed(V2ENVIRONMENTTESTS_CACHECONTROL_APIRESOURCE_USECACHEDCONTENT2);
    /* TODO: implement test */
    tr18.appendTcDetail("Not implemented.");
    tr18.writeTo(writer);

    /* TestCase: V2EnvironmentTests_CacheControl_ApiResource_useCachedContent3 */
    /* Details: "Method useCachedContent(): Returns false if the use        */
    /* cached content indcator has not been set"                            */
    TestResult tr19 =
        tcd.getTestResultFailed(V2ENVIRONMENTTESTS_CACHECONTROL_APIRESOURCE_USECACHEDCONTENT3);
    /* TODO: implement test */
    tr19.appendTcDetail("Not implemented.");
    tr19.writeTo(writer);

    /* TestCase: V2EnvironmentTests_CacheControl_ApiResource_setUseCachedContent1 */
    /* Details: "Method setUseCachedContent(boolean): If set to true, the   */
    /* cached content is valid "                                            */
    TestResult tr20 =
        tcd.getTestResultFailed(V2ENVIRONMENTTESTS_CACHECONTROL_APIRESOURCE_SETUSECACHEDCONTENT1);
    /* TODO: implement test */
    tr20.appendTcDetail("Not implemented.");
    tr20.writeTo(writer);

    /* TestCase: V2EnvironmentTests_CacheControl_ApiResource_setUseCachedContent2 */
    /* Details: "Method setUseCachedContent(boolean): If set to false,      */
    /* the cached content is invalid "                                      */
    TestResult tr21 =
        tcd.getTestResultFailed(V2ENVIRONMENTTESTS_CACHECONTROL_APIRESOURCE_SETUSECACHEDCONTENT2);
    /* TODO: implement test */
    tr21.appendTcDetail("Not implemented.");
    tr21.writeTo(writer);
  }
  @Override
  public void serveResource(ResourceRequest portletReq, ResourceResponse portletResp)
      throws PortletException, IOException {
    LOGGER.entering(LOG_CLASS, "main portlet serveResource entry");

    long tid = Thread.currentThread().getId();
    portletReq.setAttribute(THREADID_ATTR, tid);

    PrintWriter writer = portletResp.getWriter();

    JSR286SignatureTestCaseDetails tcd = new JSR286SignatureTestCaseDetails();

    // Create result objects for the tests

    PortletURL url = portletResp.createActionURL();
    ClassChecker cc = new ClassChecker(url.getClass());

    /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasAddProperty     */
    /* Details: "Action URL has a addProperty(String, String)  method "     */
    TestResult tr0 =
        tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASADDPROPERTY);
    try {
      String name = "addProperty";
      Class<?>[] exceptions = null;
      Class<?>[] parms = {String.class, String.class};
      tr0.setTcSuccess(cc.hasMethod(name, parms, exceptions));
    } catch (Exception e) {
      tr0.appendTcDetail(e.toString());
    }
    tr0.writeTo(writer);

    /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasAddPropertyReturns */
    /* Details: "Action URL method addProperty(String, String) returns      */
    /* void "                                                               */
    TestResult tr1 =
        tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASADDPROPERTYRETURNS);
    try {
      String name = "addProperty";
      Class<?> retType = void.class;
      Class<?>[] parms = {String.class, String.class};
      tr1.setTcSuccess(cc.methodHasReturnType(name, retType, parms));
    } catch (Exception e) {
      tr1.appendTcDetail(e.toString());
    }
    tr1.writeTo(writer);

    /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasGetParameterMap */
    /* Details: "Action URL has a getParameterMap()  method "               */
    TestResult tr2 =
        tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASGETPARAMETERMAP);
    try {
      String name = "getParameterMap";
      Class<?>[] exceptions = null;
      Class<?>[] parms = null;
      tr2.setTcSuccess(cc.hasMethod(name, parms, exceptions));
    } catch (Exception e) {
      tr2.appendTcDetail(e.toString());
    }
    tr2.writeTo(writer);

    /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasGetParameterMapReturns */
    /* Details: "Action URL method getParameterMap() returns                */
    /* java.util.Map "                                                      */
    TestResult tr3 =
        tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASGETPARAMETERMAPRETURNS);
    try {
      String name = "getParameterMap";
      Class<?> retType = java.util.Map.class;
      Class<?>[] parms = null;
      tr3.setTcSuccess(cc.methodHasReturnType(name, retType, parms));
    } catch (Exception e) {
      tr3.appendTcDetail(e.toString());
    }
    tr3.writeTo(writer);

    /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasSetParameter    */
    /* Details: "Action URL has a setParameter(String, String)  method "    */
    TestResult tr4 =
        tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASSETPARAMETER);
    try {
      String name = "setParameter";
      Class<?>[] exceptions = null;
      Class<?>[] parms = {String.class, String.class};
      tr4.setTcSuccess(cc.hasMethod(name, parms, exceptions));
    } catch (Exception e) {
      tr4.appendTcDetail(e.toString());
    }
    tr4.writeTo(writer);

    /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasSetParameterA   */
    /* Details: "Action URL has a setParameter(String, String[])  method    */
    /* "                                                                    */
    TestResult tr5 =
        tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASSETPARAMETERA);
    try {
      String name = "setParameter";
      Class<?>[] exceptions = null;
      Class<?>[] parms = {String.class, String[].class};
      tr5.setTcSuccess(cc.hasMethod(name, parms, exceptions));
    } catch (Exception e) {
      tr5.appendTcDetail(e.toString());
    }
    tr5.writeTo(writer);

    /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasSetParameterReturns */
    /* Details: "Action URL method setParameter(String, String) returns     */
    /* void "                                                               */
    TestResult tr6 =
        tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASSETPARAMETERRETURNS);
    try {
      String name = "setParameter";
      Class<?> retType = void.class;
      Class<?>[] parms = {String.class, String.class};
      tr6.setTcSuccess(cc.methodHasReturnType(name, retType, parms));
    } catch (Exception e) {
      tr6.appendTcDetail(e.toString());
    }
    tr6.writeTo(writer);

    /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasSetParameterReturnsA */
    /* Details: "Action URL method setParameter(String, String[]) returns   */
    /* void "                                                               */
    TestResult tr7 =
        tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASSETPARAMETERRETURNSA);
    try {
      String name = "setParameter";
      Class<?> retType = void.class;
      Class<?>[] parms = {String.class, String[].class};
      tr7.setTcSuccess(cc.methodHasReturnType(name, retType, parms));
    } catch (Exception e) {
      tr7.appendTcDetail(e.toString());
    }
    tr7.writeTo(writer);

    /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasSetParameters   */
    /* Details: "Action URL has a setParameters(java.util.Map)  method "    */
    TestResult tr8 =
        tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASSETPARAMETERS);
    try {
      String name = "setParameters";
      Class<?>[] exceptions = null;
      Class<?>[] parms = {java.util.Map.class};
      tr8.setTcSuccess(cc.hasMethod(name, parms, exceptions));
    } catch (Exception e) {
      tr8.appendTcDetail(e.toString());
    }
    tr8.writeTo(writer);

    /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasSetParametersReturns */
    /* Details: "Action URL method setParameters(java.util.Map) returns     */
    /* void "                                                               */
    TestResult tr9 =
        tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASSETPARAMETERSRETURNS);
    try {
      String name = "setParameters";
      Class<?> retType = void.class;
      Class<?>[] parms = {java.util.Map.class};
      tr9.setTcSuccess(cc.methodHasReturnType(name, retType, parms));
    } catch (Exception e) {
      tr9.appendTcDetail(e.toString());
    }
    tr9.writeTo(writer);

    /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasSetProperty     */
    /* Details: "Action URL has a setProperty(String, String)  method "     */
    TestResult tr10 =
        tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASSETPROPERTY);
    try {
      String name = "setProperty";
      Class<?>[] exceptions = null;
      Class<?>[] parms = {String.class, String.class};
      tr10.setTcSuccess(cc.hasMethod(name, parms, exceptions));
    } catch (Exception e) {
      tr10.appendTcDetail(e.toString());
    }
    tr10.writeTo(writer);

    /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasSetPropertyReturns */
    /* Details: "Action URL method setProperty(String, String) returns      */
    /* void "                                                               */
    TestResult tr11 =
        tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASSETPROPERTYRETURNS);
    try {
      String name = "setProperty";
      Class<?> retType = void.class;
      Class<?>[] parms = {String.class, String.class};
      tr11.setTcSuccess(cc.methodHasReturnType(name, retType, parms));
    } catch (Exception e) {
      tr11.appendTcDetail(e.toString());
    }
    tr11.writeTo(writer);

    /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasSetSecure       */
    /* Details: "Action URL has a setSecure(boolean) throws                 */
    /* PortletSecurityException method "                                    */
    TestResult tr12 = tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASSETSECURE);
    try {
      String name = "setSecure";
      Class<?>[] exceptions = {PortletSecurityException.class};
      Class<?>[] parms = {boolean.class};
      tr12.setTcSuccess(cc.hasMethod(name, parms, exceptions));
    } catch (Exception e) {
      tr12.appendTcDetail(e.toString());
    }
    tr12.writeTo(writer);

    /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasSetSecureReturns */
    /* Details: "Action URL method setSecure(boolean) returns void "        */
    TestResult tr13 =
        tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASSETSECURERETURNS);
    try {
      String name = "setSecure";
      Class<?> retType = void.class;
      Class<?>[] parms = {boolean.class};
      tr13.setTcSuccess(cc.methodHasReturnType(name, retType, parms));
    } catch (Exception e) {
      tr13.appendTcDetail(e.toString());
    }
    tr13.writeTo(writer);

    /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasToString        */
    /* Details: "Action URL has a toString()  method "                      */
    TestResult tr14 = tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASTOSTRING);
    try {
      String name = "toString";
      Class<?>[] exceptions = null;
      Class<?>[] parms = null;
      tr14.setTcSuccess(cc.hasMethod(name, parms, exceptions));
    } catch (Exception e) {
      tr14.appendTcDetail(e.toString());
    }
    tr14.writeTo(writer);

    /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasToStringReturns */
    /* Details: "Action URL method toString() returns String "              */
    TestResult tr15 =
        tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASTOSTRINGRETURNS);
    try {
      String name = "toString";
      Class<?> retType = String.class;
      Class<?>[] parms = null;
      tr15.setTcSuccess(cc.methodHasReturnType(name, retType, parms));
    } catch (Exception e) {
      tr15.appendTcDetail(e.toString());
    }
    tr15.writeTo(writer);

    /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasWrite           */
    /* Details: "Action URL has a write(java.io.Writer) throws              */
    /* java.io.IOException method "                                         */
    TestResult tr16 = tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASWRITE);
    try {
      String name = "write";
      Class<?>[] exceptions = {java.io.IOException.class};
      Class<?>[] parms = {java.io.Writer.class};
      tr16.setTcSuccess(cc.hasMethod(name, parms, exceptions));
    } catch (Exception e) {
      tr16.appendTcDetail(e.toString());
    }
    tr16.writeTo(writer);

    /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasWriteA          */
    /* Details: "Action URL has a write(java.io.Writer, boolean) throws     */
    /* java.io.IOException method "                                         */
    TestResult tr17 = tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASWRITEA);
    try {
      String name = "write";
      Class<?>[] exceptions = {java.io.IOException.class};
      Class<?>[] parms = {java.io.Writer.class, boolean.class};
      tr17.setTcSuccess(cc.hasMethod(name, parms, exceptions));
    } catch (Exception e) {
      tr17.appendTcDetail(e.toString());
    }
    tr17.writeTo(writer);

    /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasWriteReturns    */
    /* Details: "Action URL method write(java.io.Writer) returns void "     */
    TestResult tr18 =
        tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASWRITERETURNS);
    try {
      String name = "write";
      Class<?> retType = void.class;
      Class<?>[] parms = {java.io.Writer.class};
      tr18.setTcSuccess(cc.methodHasReturnType(name, retType, parms));
    } catch (Exception e) {
      tr18.appendTcDetail(e.toString());
    }
    tr18.writeTo(writer);

    /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasWriteReturnsA   */
    /* Details: "Action URL method write(java.io.Writer, boolean) returns   */
    /* void "                                                               */
    TestResult tr19 =
        tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASWRITERETURNSA);
    try {
      String name = "write";
      Class<?> retType = void.class;
      Class<?>[] parms = {java.io.Writer.class, boolean.class};
      tr19.setTcSuccess(cc.methodHasReturnType(name, retType, parms));
    } catch (Exception e) {
      tr19.appendTcDetail(e.toString());
    }
    tr19.writeTo(writer);
  }