def printable_value(value, &reference_printer)
      Jinx::Collector.on(value) do |item|
        if Resource === item then
          block_given? ? yield(item) : printable_value(item) { |ref| ReferencePrinter.new(ref) }
        else
          item
        end
      end
    end
def printable_value(value, &reference_printer)
      Jinx::Collector.on(value) do |item|
        if Resource === item then
          block_given? ? yield(item) : printable_value(item) { |ref| ReferencePrinter.new(ref) }
        else
          item
        end
      end
    end
Returns a value suitable for printing. If value is a domain object, then the block provided to this method is called.
 The default block creates a new ReferencePrinter on the value.