class WebsterChecklistTarget implements WebsterTarget {

    static List<Selector> selectorsFromConfigCompactForm(final JsonObject json) {
        final List<Selector> selectors = new ArrayList<>();
        if (json.containsKey(COMPACT_KEY_BY_NODETYPES)) {
            final List<String> args = JavaxJson.mapArrayOfStrings(json.getJsonArray(COMPACT_KEY_BY_NODETYPES));
            selectors.add(new Selector(ChecklistExporter.SelectorType.NODETYPE, args.toArray(new String[0])));
        }
        if (json.containsKey(COMPACT_KEY_BY_PATHS)) {
            final List<String> args = JavaxJson.mapArrayOfStrings(json.getJsonArray(COMPACT_KEY_BY_PATHS));
            selectors.add(new Selector(ChecklistExporter.SelectorType.PATH, args.toArray(new String[0])));
        }
        if (json.containsKey(COMPACT_KEY_BY_QUERY)) {
            selectors.add(new Selector(ChecklistExporter.SelectorType.QUERY,
                    new String[]{json.getString(COMPACT_KEY_BY_QUERY)}));
        }
        return selectors;
    }

    private  WebsterChecklistTarget(final File checklist,
                                   final ChecklistExporter exporter,
                                   final ChecklistExporter.ForcedRootUpdatePolicy updatePolicy);

}