anchor.diff:  -spec renderGossip([gossip_pv()]) -> [html_type()].
   renderGossip([]) -> [];
   renderGossip([V1]) ->
  -    renderGossip2(V1, {false, {"", V1}}, {false, {"", V1}});
  +    renderGossip2(V1, {false, V1}, {false, V1});
   renderGossip([V1, V2]) ->
  -    renderGossip2(V1, {true, V2}, {false, {"", V2}});
  +    renderGossip2(V1, {true, V2}, {false, V2});
   renderGossip([V1, V2, V3 | Rest]) ->
       lists:append(
         renderGossip2(V1, {true, V2}, {true, V3}),
  
positive.code:                        {td, [], {'div', [{id, "ringhover"}, {style, "width: 100px; height: 350px"}], []}}]}]}
                     ]
                catch % ?RT methods might throw
                    throw:not_supported -> ""
                end,
      Content.
  
  
negative.code: renderGossip2(PV1, PVE2, PVE3) ->
      [renderGossipHead(PV1, PVE2, PVE3),
       renderGossipData(PV1, PVE2, PVE3, "Size (leader election)",
                        size_ldr, fun(V) -> lists:flatten(io_lib:format("~.2f", [V])) end),
       renderGossipData(PV1, PVE2, PVE3, "Size (key range)",
                        size_kr, fun(V) -> lists:flatten(io_lib:format("~.2f", [V])) end),
       renderGossipData(PV1, PVE2, PVE3, "Average load",
                        avgLoad, fun(V) -> lists:flatten(io_lib:format("~.2f", [V])) end),
       renderGossipData(PV1, PVE2, PVE3, "Maximum load",
                        maxLoad, fun(V) -> lists:flatten(io_lib:format("~B", [V])) end),
       renderGossipData(PV1, PVE2, PVE3, "Minimum load",
                        minLoad, fun(V) -> lists:flatten(io_lib:format("~B", [V])) end),
       renderGossipData(PV1, PVE2, PVE3, "Standard deviation of the load",
                        stddev, fun(V) -> lists:flatten(io_lib:format("~.2f", [V])) end)
       ].
  
  -spec renderGossipHead(gossip_pv(), {boolean(), gossip_pv()}, {boolean(), gossip_pv()}) -> html_type().
  