private void init() {
        // Create the map from resource to Sites that contains it
        // and remove the resources that no site contains it
        Set<String> removeResources = new HashSet<String>();
        for (String resource : resources) {
            List<Site> temp = new LinkedList<Site>();
            for (Site site : sites)
                if (site.containsResource(resource))
                    temp.add(site);
            if (temp.size() > 0)
                sitesAvaliable.put(resource, temp);
            else
                removeResources.add(resource);
        }
        this.resources.removeAll(removeResources);
    }