Index: tapas/web/src/com/ether/ControllerEther.java
===================================================================
--- tapas/web/src/com/ether/ControllerEther.java	(revision 448)
+++ tapas/web/src/com/ether/ControllerEther.java	(revision 449)
@@ -23,10 +23,5 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import java.io.BufferedInputStream;
-import java.io.File;
-import java.io.FileInputStream;
 import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
 import java.io.UnsupportedEncodingException;
 import java.lang.annotation.Annotation;
@@ -186,32 +181,5 @@
                 final String fileName = methodDescription.getDownloadFile();
                 final String downloadPath = getProperty( "downloadPath" );
-
-                response.setContentType( "multipart/zip" );
-                response.setHeader( "Content-Disposition", "attachment; filename=\"" + fileName.trim() + "\";" );
-
-                final File file = new File( downloadPath + fileName );
-                if( !file.exists() )
-                    throw new WebException( WebException.WebCode.ERROR_TO_DOWNLOAD_FILE, file.getPath() );
-
-                response.setContentLength( (int) file.length() );
-                try
-                {
-                    final OutputStream outputStream = response.getOutputStream();
-                    final FileInputStream fileInputStream = new FileInputStream( file );
-
-                    final BufferedInputStream bufferedInputStream = new BufferedInputStream( fileInputStream );
-                    final InputStream inputStream = new BufferedInputStream( bufferedInputStream );
-
-                    int count;
-                    final byte[] buf = new byte[4096];
-                    while( ( count = inputStream.read( buf ) ) > -1 )
-                        outputStream.write( buf, 0, count );
-                    inputStream.close();
-                    outputStream.close();
-                }
-                catch( Exception ex )
-                {
-                    throw new WebException( WebException.WebCode.ERROR_TO_DOWNLOAD_FILE, ex );
-                }
+                WebHelper.downloadFileToResponse( fileName, downloadPath, response );
                 return null;
             }
Index: tapas/web/src/com/ether/WebHelper.java
===================================================================
--- tapas/web/src/com/ether/WebHelper.java	(revision 448)
+++ tapas/web/src/com/ether/WebHelper.java	(revision 449)
@@ -12,6 +12,10 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.io.BufferedInputStream;
+import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
 import java.io.PrintWriter;
 import java.security.InvalidParameterException;
@@ -130,4 +134,44 @@
     }
 
+    /**
+     * This method send to the response (to download) the file named fileName localized in the path downloadPath
+     *
+     * @param fileName
+     * @param downloadPath
+     * @param response
+     * @throws WebException
+     */
+    public static void downloadFileToResponse( @NotNull final String fileName, @NotNull final String downloadPath, @NotNull final HttpServletResponse response )
+            throws WebException
+    {
+        response.setContentType( "multipart/zip" );
+        response.setHeader( "Content-Disposition", "attachment; filename=\"" + fileName.trim() + "\";" );
+
+        final File file = new File( downloadPath + fileName );
+        if( !file.exists() )
+            throw new WebException( WebException.WebCode.ERROR_TO_DOWNLOAD_FILE, file.getPath() );
+
+        response.setContentLength( (int) file.length() );
+        try
+        {
+            final OutputStream outputStream = response.getOutputStream();
+            final FileInputStream fileInputStream = new FileInputStream( file );
+
+            final BufferedInputStream bufferedInputStream = new BufferedInputStream( fileInputStream );
+            final InputStream inputStream = new BufferedInputStream( bufferedInputStream );
+
+            int count;
+            final byte[] buf = new byte[4096];
+            while( ( count = inputStream.read( buf ) ) > -1 )
+                outputStream.write( buf, 0, count );
+            inputStream.close();
+            outputStream.close();
+        }
+        catch( Exception ex )
+        {
+            throw new WebException( WebException.WebCode.ERROR_TO_DOWNLOAD_FILE, ex );
+        }
+    }
+
     public static final int STATUS_CODE_SERVICE_EXCEPTION = 500;
     public static final String PROPERTIES_FILE = "tapas.properties";
