Could you merge FloatTopNColumnSelectorStrategy, DoubleTopNColumnSelectorStrategy and LongTopNColumnSelectorStrategy in the same class, which implements three different interfaces, in order to keep almost identical, but non-trivial methods adjacent?