public static Resource _find(Folder parent, String[] arr, int i, boolean invalidateCache) throws IOException, com.ettrema.httpclient.HttpException, NotAuthorizedException, BadRequestException { String childName = arr[i]; if (invalidateCache) { parent.flush(); } Resource child = parent.child(childName); if (i == arr.length - 1) { return child; } else { if (child instanceof Folder) { return _find((Folder) child, arr, i + 1, invalidateCache); } else { return null; } } }