### Question:
SourceDocumentReferenceMetaInfoDaoImpl implements SourceDocumentReferenceMetaInfoDao { @Override public boolean create(SourceDocumentReferenceMetaInfo sourceDocumentReferenceMetaInfo, WriteConcern writeConcern) { if(read(sourceDocumentReferenceMetaInfo.getId()) == null) { datastore.save(sourceDocumentReferenceMetaInfo, writeConcern); return true; } else { return false; } } SourceDocumentReferenceMetaInfoDaoImpl(Datastore datastore); @Override Long getCount(); @Override boolean create(SourceDocumentReferenceMetaInfo sourceDocumentReferenceMetaInfo, WriteConcern writeConcern); @Override Iterable<com.google.code.morphia.Key<SourceDocumentReferenceMetaInfo>> createOrModify(Collection<SourceDocumentReferenceMetaInfo> sourceDocumentReferenceMetaInfos, WriteConcern writeConcern); @Override SourceDocumentReferenceMetaInfo read(String id); @Override List<SourceDocumentReferenceMetaInfo> read(Collection<String> ids); @Override boolean update(SourceDocumentReferenceMetaInfo sourceDocumentReferenceMetaInfo, WriteConcern writeConcern); @Override WriteResult delete(String id);  }### Answer:
@Test public void testCreate() throws Exception { final SourceDocumentReferenceMetaInfo sourceDocumentReferenceMetaInfo = new SourceDocumentReferenceMetaInfo("a", new ImageMetaInfo(10, 10, "", "", "", null, null, null), null, null, null); assertNotNull(sourceDocumentReferenceMetaInfo.getId()); sourceDocumentReferenceMetaInfoDao.create(sourceDocumentReferenceMetaInfo, WriteConcern.NONE); assertEquals(sourceDocumentReferenceMetaInfo.getImageMetaInfo().getHeight(), sourceDocumentReferenceMetaInfoDao.read( sourceDocumentReferenceMetaInfo.getId()).getImageMetaInfo().getHeight()); sourceDocumentReferenceMetaInfoDao.delete(sourceDocumentReferenceMetaInfo.getId()); }