protected void softDeleteProperty(InMemoryTableElement inMemoryTableElement, Property property, Long timestamp, IndexHint indexHint, Authorizations authorizations) {
Element element;
if (inMemoryTableElement instanceof InMemoryTableVertex) {
inMemoryTableElement.appendSoftDeletePropertyMutation(property.getKey(), property.getName(), property.getVisibility(), timestamp);
element = getVertex(inMemoryTableElement.getId(), FetchHints.ALL_INCLUDING_HIDDEN, authorizations);
} else if (inMemoryTableElement instanceof InMemoryTableEdge) {
inMemoryTableElement.appendSoftDeletePropertyMutation(property.getKey(), property.getName(), property.getVisibility(), timestamp);
element = getEdge(inMemoryTableElement.getId(), FetchHints.ALL_INCLUDING_HIDDEN, authorizations);
} else {
throw new IllegalArgumentException("Unexpected element type: " + inMemoryTableElement.getClass().getName());
}
if (indexHint != IndexHint.DO_NOT_INDEX) {
getSearchIndex().deleteProperty(this, element, PropertyDescriptor.fromProperty(property), authorizations);
}
if (hasEventListeners()) {
fireGraphEvent(new SoftDeletePropertyEvent(this, element, property));
}
}