title: Proguard error with gson after obfuscation
body: <p>I got very specific bug that appers after obfuscation. I use gson to get game server data that used for updater. </p>
  
  <pre><code>public static List&lt;Server&gt; getServers() {
      try {
          URL url = new URL("http://api.ensemplix.ru/v2/server/game/");
          HttpURLConnection conn = (HttpURLConnection) url.openConnection();
          InputStream in = conn.getInputStream();
          BufferedReader br = new BufferedReader(new InputStreamReader(in,
                  "UTF-8"));
          return Arrays.asList(gson.fromJson(br, Server[].class));
      } catch (IOException e) {
          logger.warn("Failed get servers", e);
          return null;
      }
  }
  </code></pre>
  
  <p>In provided data is array of mods list that are represented as ArrayList:</p>
  
  <pre><code>@SerializedName("mods")
  private List&lt;Mod&gt; mods = new ArrayList&lt;Mod&gt;();
  </code></pre>
  
  <p>With no proguard obfuscation all works fine, but with i get a collection error: </p>
  
  <p><img src="https://i.stack.imgur.com/CpC6X.jpg" alt="http://cs608821.vk.me/v608821289/1815/xFtFEbtVYME.jpg">
  This how it's looks in eclipse: 
  <img src="https://i.stack.imgur.com/7ikoV.jpg" alt="http://cs608821.vk.me/v608821221/2541/-ZXvF0yKZJY.jpg"></p>
  
  <p>Method which throw error: </p>
  
  <pre><code>    public static List&lt;Mod&gt; getUpdateList(ServerType serverType) {
      List&lt;Mod&gt; updateList = new ArrayList&lt;Mod&gt;();
  
      System.out.println(serverType.getMods().toString());
  
      for (Mod mod : serverType.getMods()) {
          boolean install = false;
          boolean update = false;
          boolean exists = false;
  
          for (LocalMod localMod : localMods) {
              if (serverType == localMod.getServerType()) {
                  if (mod.getName().equalsIgnoreCase(localMod.getName())) {
                      exists = true;
  
                      if (!mod.getVersion().equalsIgnoreCase(
                              localMod.getVersion())) {
                          logger.info("Removing mod " + localMod.getName()
                                  + " version " + localMod.getVersion()
                                  + " to update to " + mod.getVersion()
                                  + " in " + serverType.getName());
  
                          if (!localMod.getFile().delete()) {
                              throw new IllegalArgumentException(
                                      "Failed delete mod "
                                              + localMod.getName()
                                              + " "
                                              + localMod.getFile()
                                                      .getAbsolutePath());
                          }
  
                          localMods.remove(localMod);
                          break;
                      }
                  }
              }
          }
  
          if (!exists) {
              install = true;
          }
  
          if (install || update) {
              if (install) {
                  logger.info("Installing mod " + mod.getName() + " version "
                          + mod.getVersion() + " for " + serverType.getName());
              }
  
              updateList.add(mod);
          }
      }
  
      return updateList;
  }
  </code></pre>
  
  <p>I dont have any idea how fix obfuscation error. Can you help please? </p>