public OrganizationDocument add(OrganizationDocument document) {
ArgumentChecker.notNull(document, "document");
ArgumentChecker.notNull(document.getOrganization(), "document.organization");
final ObjectId objectId = _objectIdSupplier.get();
final UniqueId uniqueId = objectId.atVersion("");
final Instant now = Instant.now();
final OrganizationDocument clonedDoc = cloneOrganizationDocument(document);
setDocumentId(document, clonedDoc, uniqueId);
setVersionTimes(document, clonedDoc, now, null, now, null);