@Override
  public void toStream(final DependencyContext context, final PrintStream stream) {
    final OrderProvider op = new OrderProvider(context);

    forEachEntry((integers, value) -> op.register(value));

    final int[] keys = op.get();

    for (final int a : keys) {
      final IntSet b = get(a);
      if (b == null) {
        continue;
      }
      
      stream.print("  Key: ");
      stream.println(context.getValue(a));
      stream.println("  Values:");

      final List<String> list = new LinkedList<>();

      b.forEach(value -> {
        list.add(context.getValue(value));
      });

      Collections.sort(list);

      for (final String l : list) {
        stream.print("    ");
        stream.println(l);
      }

      stream.println("  End Of Values");
    }
  }
@Override
  public void toStream(final DependencyContext context, final PrintStream stream)