The code LinkFormatter::prepareView() in here is strictly value per value, does not benefit from the "multiple entities" aspect of prepareView().
What's being done here could totally be inlined in viewElements() - however, it is also used by LinkSeparateFormatter, which extends LinkFormatter. So it should be moved to a protected helper method, called for each item in viewElements() in both classes.