fixed issue of missing updating child object Id
Added unit tests for InMemorySet and Cache
Changed IdGenerator only assign value to non-initialized id property