question: public boolean deleteEdgeReference ( AtlasEdge edge , DataTypes . TypeCategory typeCategory , boolean isComposite , boolean forceDeleteStructTrait ) throws AtlasException { LOG . debug ( "Deleting {}" , string ( edge ) ) ; boolean forceDelete = ( typeCategory == DataTypes . TypeCategory . STRUCT || typeCategory == DataTypes . TypeCategory . TRAIT ) ? forceDeleteStructTrait : false ; if ( typeCategory == DataTypes . TypeCategory . STRUCT || typeCategory == DataTypes . TypeCategory . TRAIT || ( typeCategory == DataTypes . TypeCategory . CLASS && isComposite ) ) { AtlasVertex vertexForDelete = edge . getInVertex ( ) ; deleteEdge ( edge , false , forceDelete ) ; deleteTypeVertex ( vertexForDelete , typeCategory , forceDelete ) ; } else { deleteEdge ( edge , true , false ) ; } return ! softDelete || forceDelete ; }
target:  Force delete is used to remove struct/trait in case of entity updates