@Override
    public void readTags(BiConsumer<String, String> tagReader) {
        for (int i = 0; i < tagPtr; i += 2) {
            String tag = tags[i];
            String tagValue = tags[i + 1];
            tagReader.accept(tag, tagValue);
        }
    }
@Test
    public void testReadTags() {
        MetricDescriptorImpl descriptor = new MetricDescriptorImpl(mock(Supplier.class))
                .withTag("tag0", "tag0Value")
                .withTag("tag1", "tag1Value")
                .withTag("tag2", "tag2Value")
                .withTag("tag3", "tag3Value")
                .withTag("tag4", "tag4Value");
        BiConsumer<String, String> tagConsumerMock = mock(BiConsumer.class);
        descriptor.readTags(tagConsumerMock);

        InOrder inOrder = inOrder(tagConsumerMock);
        inOrder.verify(tagConsumerMock).accept("tag0", "tag0Value");
        inOrder.verify(tagConsumerMock).accept("tag1", "tag1Value");
        inOrder.verify(tagConsumerMock).accept("tag2", "tag2Value");
        inOrder.verify(tagConsumerMock).accept("tag3", "tag3Value");
        inOrder.verify(tagConsumerMock).accept("tag4", "tag4Value");
        inOrder.verifyNoMoreInteractions();
    }