-                if (we.contentType().equals("DIR"))\r
-                    fetchData(getUri().toString() + we.path(), syncResult,\r
-                            file.getFileId());\r
+                if (we.contentType().equals("DIR")) {\r
+                    // for recursive fetch later\r
+                    paths.add(we.path());\r
+                    fileIds.add(file.getFileId());\r
+                }\r
+            }\r
+            \r
+            Vector<OCFile> files = getStorageManager().getDirectoryContent(\r
+                    getStorageManager().getFileById(parentId));\r
+            for (OCFile file : files) {\r
+                if (file.getLastSyncDate() != mCurrentSyncTime && file.getLastSyncDate() != 0)\r
+                    getStorageManager().removeFile(file);\r
+            }\r
+            \r
+            // synched folder -> notice to IU\r
+            sendStickyBroadcast(true, parentId);\r
+\r
+            // recursive fetch\r
+            while(!paths.isEmpty()) {\r
+                fetchData(getUri().toString() + paths.remove(), syncResult, fileIds.remove());\r