I'm using Mockito to verify orders of method calls with the `InOrder` object. But I am not interested in a total ordering of the calls, only that a certain group of method calls all happen before some other methods are invoked. For example like this

```
@Test
public void testGroupOrder() {
    Foo foo1 = mock(Foo.class);
    Foo foo2 = mock(Foo.class);
    Bar underTest = new Bar();
    underTest.addFoo(foo1);
    underTest.addFoo(foo2);

    underTest.fire()

    InOrder inOrder = inOrder(foo1,foo2);

    inorder.verify(foo1).doThisFirst();
    inorder.verify(foo2).doThisFirst();

    inorder.verify(foo1).beforeDoingThis();
    inorder.verify(foo2).beforeDoingThis();
}

```

But this test does test too much, since it tests the order of the `Foo` instances. But I'm only interested in the order of the different methods. In fact I want `underTest` to not differentiate the instances of `Foo`, it may have an internal order on them or not, so it does not matter in which order the foos are called. I'd like to keep that as an implementation detail.

But it is important that `doThisFirst()` has been called on *all* of the foos before `beforeDoingThis()` is invoked on *any* other foo. Is it possible to express that with Mockito? How?