// client specific public void mergeChanges( ArrayList<TreeMap<Integer, Boolean>> mapArray, ArrayList<TreeMap<Integer, FactoryObject>> dataArray) { if (mapArray.size() == 1) { TreeMap<Integer, Boolean> changeMap = mapArray.get(0); TreeMap<Integer, FactoryObject> changeData = dataArray.get(0); // iterate over all the keys present in changeMap // after this loop is complete, the frameAnimationData map will be accurately synced with the // server copy Set<Integer> t = changeMap.keySet(); for (Integer i : t) { if (changeMap.get(i)) { fos.put(i, changeData.get(i)); } else { fos.remove(i); } } } else { System.out.println("Warning: Corrupt frame data"); } repaint(); }