class BasicConfiguration {

    public static final List<String> allDetails(boolean compact, List<? extends IProcessingFactory> facs, List<? extends IDiagnosticsFactory> diags) {
        LinkedHashSet<String> dic = new LinkedHashSet<>();
        for (IProcessingFactory fac : facs) {
            Map<String, Class> odic = fac.getOutputDictionary(compact);
            odic.forEach((s, c) -> {
                if (c != TsData.class && MatrixFormatter.canProcess(c) && !dic.contains(s)) {
                    dic.add(s);
                }
            });
        }
        diags.stream().filter(d -> d.isEnabled()).forEach(
                z -> {
                    String lz = z.getName().toLowerCase();
                    z.getTestDictionary().forEach(t -> dic.add(InformationSet.concatenate(GenericSaProcessingFactory.DIAGNOSTICS, lz, ((String) t).toLowerCase())));
                }
        );
        return dic.stream().collect(Collectors.toList());
    }

}