exits the scope of bulkchange without saving the changes . this can be used when a bulk change fails in the middle . note that unlike a real transaction , this will not roll back the state of the object . the abort method can be called after the commit method , in which case this method does nothing . this is so that bulkchange can be used naturally in the try/finally block . concode_field_sep BulkChange parent concode_elem_sep Exception allocator concode_elem_sep ThreadLocal<BulkChange> INSCOPE concode_elem_sep Saveable saveable concode_elem_sep boolean completed concode_elem_sep Saveable ALL concode_field_sep void pop concode_elem_sep BulkChange current concode_elem_sep boolean contains concode_elem_sep void commit concode_elem_sep void save concode_elem_sep void close
void function ( ) { if ( completed ) return ; completed = true ; pop ( ) ; }