public void testGetItem() {
    {
      PSI psi = st.getStackItem("group1", "item1", "context");
      assertNotNull(psi);
      assertEquals("group1", psi.getGroup());
      assertEquals("item1", psi.getItem());
      assertEquals(m_timer.getTimeMillis(0), psi.getCreationTime());

      psi.close();

      TestItem item = getItem("group1", "item1");
      assertNotNull(item);
      assertEquals(m_timer.getTimeMillis(1) - m_timer.getTimeMillis(0), item.getTotalTime());
      assertEquals(0L, item.getChildsTime());
    }
    int tID = m_timer.currentTimerId();
    {
      PSI psi1 = st.getStackItem("g1", "i1");
      PSI psi2 = st.getStackItem("g1", "i2");
      psi2.close();
      assertEquals(
          m_timer.getTimeMillis(tID + 2) - m_timer.getTimeMillis(tID + 1), psi1.getChildsTime());
      psi1.close();
      assertEquals(
          m_timer.getTimeMillis(tID + 3) - m_timer.getTimeMillis(tID),
          getItem("g1", "i1").getTotalTime());
      assertEquals(
          m_timer.getTimeMillis(tID + 2) - m_timer.getTimeMillis(tID + 1),
          getItem("g1", "i1").getChildsTime());
    }
  }
 public long get() {
   return m_timer.currentTimeMillis();
 }