bug 420491: Code Type generic type 
https://bugs.eclipse.org/bugs/show_bug.cgi?id=420491
diff --git a/org.eclipse.scout.rt.ui.rap.incubator.filechooser/src/org/eclipse/scout/rt/ui/rap/form/fields/filechooserfield/RwtScoutFileDownloadField.java b/org.eclipse.scout.rt.ui.rap.incubator.filechooser/src/org/eclipse/scout/rt/ui/rap/form/fields/filechooserfield/RwtScoutFileDownloadField.java
index 74fde58..92713c4 100644
--- a/org.eclipse.scout.rt.ui.rap.incubator.filechooser/src/org/eclipse/scout/rt/ui/rap/form/fields/filechooserfield/RwtScoutFileDownloadField.java
+++ b/org.eclipse.scout.rt.ui.rap.incubator.filechooser/src/org/eclipse/scout/rt/ui/rap/form/fields/filechooserfield/RwtScoutFileDownloadField.java
@@ -11,7 +11,9 @@
 package org.eclipse.scout.rt.ui.rap.form.fields.filechooserfield;
 
 import java.io.File;
+import java.util.List;
 
+import org.eclipse.scout.commons.CollectionUtility;
 import org.eclipse.scout.commons.IOUtility;
 import org.eclipse.scout.commons.logger.IScoutLogger;
 import org.eclipse.scout.commons.logger.ScoutLogManager;
@@ -82,8 +84,8 @@
           IFileChooser chooser = getScoutObject().getFileChooser();
           String fileName = chooser.getFileName();
           if (fileName == null) {
-            String[] exts = getScoutObject().getFileExtensions();
-            fileName = "download." + (exts != null && exts.length > 0 ? exts[0] : "tmp");
+            List<String> exts = getScoutObject().getFileExtensions();
+            fileName = "download." + (CollectionUtility.hasElements(exts) ? CollectionUtility.firstElement(exts) : "tmp");
           }
           final File tempFile = new File(IOUtility.createTempDirectory("download"), fileName);
           tempFile.deleteOnExit();
diff --git a/org.eclipse.scout.rt.ui.rap.incubator.filechooser/src/org/eclipse/scout/rt/ui/rap/window/filechooser/RwtScoutFileChooser.java b/org.eclipse.scout.rt.ui.rap.incubator.filechooser/src/org/eclipse/scout/rt/ui/rap/window/filechooser/RwtScoutFileChooser.java
index 2e0fad1..c8c7d58 100644
--- a/org.eclipse.scout.rt.ui.rap.incubator.filechooser/src/org/eclipse/scout/rt/ui/rap/window/filechooser/RwtScoutFileChooser.java
+++ b/org.eclipse.scout.rt.ui.rap.incubator.filechooser/src/org/eclipse/scout/rt/ui/rap/window/filechooser/RwtScoutFileChooser.java
@@ -12,6 +12,8 @@
 
 import java.io.File;
 import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
 
 import org.eclipse.scout.commons.logger.IScoutLogger;
 import org.eclipse.scout.commons.logger.ScoutLogManager;
@@ -47,22 +49,22 @@
 
   @Override
   public void showFileChooser() {
-    File[] files = null;
+    List<File> files = null;
     try {
       if (getScoutFileChooser().isFolderMode()) {
         LOG.error("IFileChooserField.isFolderMode() == true is not possible in RAP");
-        files = new File[0];
+        files = Collections.emptyList();
       }
       else if (!getScoutFileChooser().isTypeLoad()) {
         LOG.info("IFileChooserField.isTypeLoad() == false (SAVE) is not possible in RAP, doing nothing");
-        files = new File[0];
+        files = Collections.emptyList();
       }
       else {
         files = uploadFiles();
       }
     }
     finally {
-      final File[] finalFiles = files;
+      final List<File> finalFiles = files;
       Runnable job = new Runnable() {
         @Override
         public void run() {
@@ -73,7 +75,7 @@
     }
   }
 
-  protected File[] uploadFiles() {
+  protected List<File> uploadFiles() {
     int style = SWT.NONE;
     if (getScoutFileChooser().isTypeLoad()) {
       style |= SWT.OPEN;
@@ -86,7 +88,7 @@
     }
     String[] extensions = new String[]{"*.*"};
     if (getScoutFileChooser().getFileExtensions() != null) {
-      ArrayList<String> extensionList = new ArrayList<String>();
+      List<String> extensionList = new ArrayList<String>();
       for (String ext : getScoutFileChooser().getFileExtensions()) {
         extensionList.add("*." + ext);
       }
@@ -102,10 +104,10 @@
     }
     String selectedFile = dialog.open();
     if (selectedFile != null && selectedFile.length() > 0) {
-      return new File[]{new File(selectedFile)};
+      return Collections.singletonList(new File(selectedFile));
     }
     else {
-      return new File[0];
+      return Collections.emptyList();
     }
   }