System.out.println("Data: " + data.getHandle().getView().getNumRows() + " records with " + data.getDefinition().getQuasiIdentifyingAttributes().size() + " quasi-identifiers");
System.out.println(" - Configuration: " + config.toString());
System.out.println(" - Policies available: " + result.getLattice().getSize());
System.out.println(" - Solution: " + Arrays.toString(node.getTransformation()));
System.out.println("   * Optimal: " + result.getLattice().isComplete());
<BUG>System.out.println("   * Time needed: " + result.getTime() + "[ms]");
System.out.println("   * Minimal reduction in publisher benefit: " + result.getConfiguration().getQualityModel().createInstanceOfLowestScore());
System.out.println("   * Maximal reduction in publisher benefit: " + result.getConfiguration().getQualityModel().createInstanceOfHighestScore());
System.out.println("   * Reduction in publisher benefit: " + node.getLowestScore() + " (" +
node.getLowestScore().relativeTo(result.getConfiguration().getQualityModel().createInstanceOfLowestScore(),
result.getConfiguration().getQualityModel().createInstanceOfHighestScore()) * 100 + "%)");</BUG>
System.out.println("   * Suppressed records: " + handle.getStatistics().getEquivalenceClassStatistics().getNumberOfOutlyingTuples());

System.out.println("Data: " + data.getHandle().getView().getNumRows() + " records with " + data.getDefinition().getQuasiIdentifyingAttributes().size() + " quasi-identifiers");
System.out.println(" - Configuration: " + config.toString());
System.out.println(" - Policies available: " + result.getLattice().getSize());
System.out.println(" - Solution: " + Arrays.toString(node.getTransformation()));
System.out.println("   * Optimal: " + result.getLattice().isComplete());
System.out.println("   * Time needed: " + result.getTime() + "[ms]");
for (QualityMetadata<?> metadata : node.getLowestScore().getMetadata()) {
System.out.println("   * " + metadata.getParameter() + ": " + metadata.getValue());
