### Question:
SynchronizedMarkHolder extends MarkHolder { @Override public void attachKeyedTag(long gen, String name, long value0) { writeNs(gen + TAG_KEYED_N1S1_OP, value0, name); } SynchronizedMarkHolder();   SynchronizedMarkHolder(int maxEvents); @Override synchronized void start(
      long gen, String taskName, String tagName, long tagId, long nanoTime); @Override synchronized void start(long gen, String taskName, long nanoTime); @Override synchronized void start(long gen, String taskName, String subTaskName, long nanoTime); @Override synchronized void link(long gen, long linkId); @Override synchronized void stop(long gen, long nanoTime); @Override synchronized void stop(
      long gen, String taskName, String tagName, long tagId, long nanoTime); @Override synchronized void stop(long gen, String taskName, long nanoTime); @Override synchronized void stop(long gen, String taskName, String subTaskName, long nanoTime); @Override synchronized void event(
      long gen, String eventName, String tagName, long tagId, long nanoTime); @Override synchronized void event(long gen, String eventName, long nanoTime); @Override synchronized void event(long gen, String eventName, String subEventName, long nanoTime); @Override synchronized void attachTag(long gen, String tagName, long tagId); @Override void attachKeyedTag(long gen, String name, long value0); @Override void attachKeyedTag(long gen, String name, String value); @Override void attachKeyedTag(long gen, String name, long value0, long value1); @Override synchronized void resetForTest(); @Override List<Mark> read(boolean concurrentWrites); @Override int maxMarks();  }### Answer:
@Test public void attachKeyedTag() { mh.start(gen, "task", 3); mh.attachKeyedTag(gen, "key1", 8); mh.attachKeyedTag(gen, "key2", 8, 9); mh.attachKeyedTag(gen, "key3", "value"); mh.stop(gen, "task", 4); List<Mark> marks = mh.read(false); assertEquals(5, marks.size()); List<Mark> expected = Arrays.asList( Mark.taskStart(gen, 3, "task"), Mark.keyedTag(gen, "key1", 8), Mark.keyedTag(gen, "key2", 8, 9), Mark.keyedTag(gen, "key3", "value"), Mark.taskEnd(gen, 4, "task")); assertEquals(expected, marks); }