@Test
public void testCreateWithId()  {

  Id itemId = new Id();
  Id baseVersionId = new Id();
  mockExistingVersion(Space.PRIVATE, itemId, baseVersionId);
  Id inputVersionId = new Id();
  doReturn(new Response<>(false)).when(stateAdaptorMock).isItemVersionExist(context, Space.PRIVATE, itemId, inputVersionId);
  doReturn(new Response<>(false)).when(stateAdaptorMock).isItemVersionExist(context, Space.PUBLIC, itemId, inputVersionId);
  ItemVersionData data = new ItemVersionData();
  data.setInfo(TestUtils.createInfo("v1"));
  data.setRelations(Arrays.asList(new Relation(), new Relation()));
  doReturn(new Response<>(Void.TYPE)).when(collaborationAdaptorMock).createItemVersion
                                                                             (anyObject(), anyObject(), anyObject(), anyObject(), anyObject());
  doReturn(new Response<>(Void.TYPE)).when(stateAdaptorMock).createItemVersion
                                                                     (anyObject(), anyObject(), anyObject(), anyObject(), anyObject(), anyObject(), anyObject());
  Id versionId = itemVersionManagerImpl.create(context, itemId, inputVersionId, baseVersionId, data);
  Assert.assertNotNull(versionId);
  verify(collaborationAdaptorMock)
          .createItemVersion(context, itemId, baseVersionId, versionId, data);
  verify(stateAdaptorMock)
          .createItemVersion(anyObject(), anyObject(), anyObject(), anyObject(), anyObject(),
                  anyObject(), anyObject());
}