private static File checkDuplicatesSync( final Activity context, final File file, final String originalNameNoExt, final int checks) throws Exception { Log.v("checkDuplicatesSync", "Checking: " + file.getPath()); if (file.existsSync()) { String newName = originalNameNoExt; if (checks > 0) newName += " (" + checks + ")"; if (!file.isDirectory()) newName += "." + file.getExtension(); File newFile = file.isRemote() ? new CloudFile(context, (CloudFile) file.getParent(), newName, file.isDirectory()) : new LocalFile(context, file.getParent(), newName); return checkDuplicatesSync(context, newFile, originalNameNoExt, 1 + checks); } else return file; }