哪位大虾给翻译一下,反编译的带匿名内部类的java文件
public class ResponseWrapper extends HttpServletResponseWrapper
{
     private static final Log log;
     private Class writerClass;
     private Class streamClass;
     private HttpServletResponse response;
     public static String perStr = "function turboCWCShopCR(){var tbcscopyright=\"<center><a href='http://www.turboshop.cn' target='_blank'><img src='http://www.turboshop.cn/powerby_logo.gif' alt='Enjoy Your E-Commerce!' border='0'></a></center><br>\";if(document.getElementById('TurboShopCopyright')==null) document.write(tbcscopyright);else document.getElementById('TurboShopCopyright').innerHTML=tbcscopyright;}if(typeof window.HTMLElement == 'undefined') window.attachEvent('onload',turboCWCShopCR);else window.onload=turboCWCShopCR;\n";
     static Class class$0; /* synthetic field */
     static Class class$1; /* synthetic field */
     static Class class$2; /* synthetic field */
     public ResponseWrapper(HttpServletResponse response)
         throws 
IOException     {
         super(response);
         this.response = response;
     }
     public ServletOutputStream getOutputStream()
         throws IOException
     {
         ServletOutputStream stream = response.getOutputStream();
         try
         {
             //以下代码实现匿名内部类
             ServletOutputStream streamWrapper = new ServletOutputStream(stream)  {
                 private int iii;
                 private char preChar[];
                 OutputStream impl;
                 public void write(int b)
                     throws IOException
                 {
                     impl.write(b);
                 }
                 //构造函数??
                throws NoSuchMethodException, 
InstantiationException, 
IllegalAccessException, 
InvocationTargetException                 {
                 this$0 = ResponseWrapper.this;
                 iii = 0;
                 this;
                 streamClass;
                 Class aclass[] = new Class[1];
                 aclass;
                 aclass;
                 0;
                 ResponseWrapper.class$1;
                 if(ResponseWrapper.class$1 != null) goto _L2; else goto _L1
_L1:
                 JVM INSTR pop ;
                 ResponseWrapper.class$1 = Class.forName("java.io.OutputStream");
                   goto _L2
                 JVM INSTR new #52  <Class 
NoClassDefFoundError>;
                 JVM INSTR dup_x1 ;
                 JVM INSTR swap ;
                 getMessage();
                 NoClassDefFoundError();
                 throw ;
_L2:
                 JVM INSTR aastore ;
                 getConstructor();
                 new OutputStream[] {
                     servletoutputstream
                 };
                 newInstance();
                 (OutputStream);
                 impl;
             }
             };
             return streamWrapper;
         }
         catch(Throwable e)
         {
             log.error("PrintWrite:" + e);
         }
         return stream;
     }
     public PrintWriter getWriter()
         throws IOException
     {
         PrintWriter writer = response.getWriter();
         try
         {
             Constructor constructor = writerClass.getConstructor(new Class[] {