### Question:
DecisionQueue implements Serializable { protected synchronized void remove( final Decision decision ) { m_queue.remove( decision ); } DecisionQueue(); Collection<Decision> getActorDecisions( final Session session ); void decide( final Decision decision, final Outcome outcome, final Context context ); synchronized void reassign( final Decision decision, final Principal owner );  }### Answer:
@Test public void testRemove() { Decision[] decisions = m_queue.decisions(); Assertions.assertEquals(3, decisions.length); m_queue.remove(d2); decisions = m_queue.decisions(); Assertions.assertEquals(2, decisions.length); Assertions.assertEquals(d1, decisions[0]); Assertions.assertEquals(d3, decisions[1]); m_queue.remove(d1); decisions = m_queue.decisions(); Assertions.assertEquals(1, decisions.length); Assertions.assertEquals(d3, decisions[0]); m_queue.remove(d3); decisions = m_queue.decisions(); Assertions.assertEquals(0, decisions.length); }