public List<GenericObject> getCore() {
        final List<GenericObject> core = new ArrayList<GenericObject>();
        final String tag = getTag();
        for (int i = 1; /* loop until broken */; i++) {
            GenericObject prov = dataSource.getProvince(i);
            if (prov == null)
                break;
            if (prov.getStrings("core").contains(tag) || prov.getStrings("is_core").contains(tag))
                core.add(prov);
        }
        return core;
    }