public static List<ToodleDoTask> addTasks(ToodleDoUser a_oUser, List<ToodleDoTask> a_lstTasks)
     {
          String sURL = "http://api.toodledo.com/2/tasks/add.php?";
          
          List<ToodleDoTask> lstToReturn = new ArrayList<ToodleDoTask>();
          
          int iEnd = 0;
          
          System.out.println("Adding " + a_lstTasks.size() + " tasks.");
          
          if(a_lstTasks != null && a_lstTasks.size() > 49)
          {
               for(int iBegin = 0; iBegin < a_lstTasks.size(); iBegin += 49)
               {
                    
                    iEnd = iBegin + 49;
                    
                    if(iEnd > a_lstTasks.size())
                    {
                         iEnd = a_lstTasks.size() - 1;
                    }
                    
                    System.out.println("Adding tasks " + iBegin + " through " + iEnd);
                    
                    List<ToodleDoTask> lstSplit = a_lstTasks.subList(iBegin, iEnd);
                    
                    Gson gson = new Gson();
                    String sJSON = gson.toJson(lstSplit);
                    
                    System.out.println("JSON: " + sJSON);
                    
                    Hashtable htParameters = new Hashtable();     
                    
                    htParameters.put("key", a_oUser.getKey());
                    htParameters.put("tasks", sJSON);
                    
                    StringBuffer sbResp = makeRequest(sURL, htParameters);
                    System.out.println(sbResp.toString());
                    
                    gson = new GsonBuilder()
                         .registerTypeAdapter(ToodleDoTask.class, new ToodleDoTaskDeserializer())
                         .create();
                         
                    Type collectionType = new TypeToken<List<ToodleDoTask>>(){}.getType();
                    
                    try
                    {
                         lstToReturn.addAll((List<ToodleDoTask>)gson.fromJson(sbResp.toString(), collectionType));
                    }
                    catch(NullPointerException npe)
                    {
                         
                    }
                    
               }
          }
          else
          {
          
               if(a_lstTasks != null && a_lstTasks.size() > 0)
               {
                    Gson gson = new Gson();
                    String sJSON = gson.toJson(a_lstTasks);
                    
                    System.out.println("JSON: " + sJSON);
                    
                    Hashtable htParameters = new Hashtable();     
                    
                    htParameters.put("key", a_oUser.getKey());
                    htParameters.put("tasks", sJSON);
                    
                    StringBuffer sbResp = makeRequest(sURL, htParameters);
                    System.out.println(sbResp.toString());
                    
                    gson = new GsonBuilder()
                         .registerTypeAdapter(ToodleDoTask.class, new ToodleDoTaskDeserializer())
                         .create();
                         
                    Type collectionType = new TypeToken<List<ToodleDoTask>>(){}.getType();
                    
                    lstToReturn = (List<ToodleDoTask>)gson.fromJson(sbResp.toString(), collectionType);
               }
          }
          
          return lstToReturn;
          
     }