final DeepResolver deepSecond = Mockito.mock(DeepResolver.class);
Mockito.when(first.deepResolver()).thenReturn(deepFirst);
Mockito.when(second.deepResolver()).thenReturn(deepSecond);
final ObjectResolver chained = ChainedResolver.CREATE.execute(second, first);
final DeepResolver deep = chained.deepResolver();
final ResolutionLogger logger = Mockito.mock(ResolutionLogger.class);
assertNotNull(deep);
UniqueIdentifiable o1 = Mockito.mock(UniqueIdentifiable.class);
UniqueIdentifiable o2 = Mockito.mock(UniqueIdentifiable.class);
Mockito.when(deepFirst.withLogger(o1, logger)).thenReturn(o1);
Mockito.when(deepFirst.withLogger(o2, logger)).thenReturn(null);