private static List<int[]> startFolkRankCreationForResources(BookmarkReader reader, int sampleSize) {
		
		int size = reader.getBookmarks().size();
		int trainSize = size - sampleSize;
		List<Map<Integer, Integer>> userMaps = Utilities.getUserMaps(reader.getBookmarks());	
		System.out.println("\nStart FolkRank Calculation for Resources");
		// TODO: should not use whole size!
		//LeavePostOutFolkRankDataDuplicator dupl = new LeavePostOutFolkRankDataDuplicator();
		FactReader factReader = new WikipediaFactReader(reader, size, 3);
		FactPreprocessor prep = new FactReaderFactPreprocessor(factReader);
		prep.process();
		FolkRankData facts = prep.getFolkRankData();
		
        FolkRankParam param = new FolkRankParam();
        FolkRankPref pref = new FolkRankPref(new double[] {1.0, 1.0, 1.0});
        int tagCounts = facts.getCounts()[0].length;
        System.out.println("Tags: " + tagCounts);
        int usrCounts = facts.getCounts()[1].length;
        System.out.println("Users: " + usrCounts);
        int resCounts = facts.getCounts()[2].length;
        System.out.println("Resources: " + resCounts);
        double[] countVals = new double[]{usrCounts, usrCounts, usrCounts, usrCounts, usrCounts};
        double[][] prefWeights = new double[][]{new double[]{}, countVals, new double[]{}};
        
        // start FolkRank        
		List<int[]> results = new ArrayList<int[]>();		
		for (int userID : reader.getUniqueUserListFromTestSet(trainSize)) {
			List<Integer> topResources = new ArrayList<Integer>();
	        int u = userID;
	        int[] tPrefs = new int[]{};
	        int[] uPrefs = getBestUsers(userMaps, u, 5);
	        int[] rPrefs = new int[]{};
	        pref.setPreference(new int[][]{tPrefs, uPrefs, rPrefs}, prefWeights);
	        FolkRankAlgorithm folk = new FolkRankAlgorithm(param);
	        FolkRankResult result = folk.computeFolkRank(facts, pref);
	        SortedSet<ItemWithWeight> topKTags = ItemWithWeight.getTopK(facts, result.getWeights(), 100, 2); // TODO
	        int count = 0;
	        List<Integer> userResources = Bookmark.getResourcesFromUser(reader.getBookmarks().subList(0, trainSize), userID);
	        for (ItemWithWeight item : topKTags) {
	        	if (count < 10) {
	        		if (!userResources.contains(item.getItem())) {
	        			topResources.add(item.getItem());
	        			count++;
	        		}
	        	} else {
	        		break;
	        	}
	        }
	        results.add(Ints.toArray(topResources));
		}
		return results;
	}