While this is an interesting idea, and will very cleanly encapsulate the decision around the type of lock acquired based on:
1) Locking Scheme (opt or pess)
2) Operation (readdata, writedata, deletedata, readchild, createchild, deletechild for PL, readIntoWorkspace, writeFromWorkspace for OL)
3) State of the LockParentForChildInsertRemove param.
I'm a bit concerned about getting this into 2.0.0.B1. If anything, this will be a B2 feature, but I am really concerned with feature creep in 2.0.0. Anyone has the spare cycles for this? :-)
I took a stab at the API, but I don't know well enough what to do with the 13-14 references to the old acquire calls.
I uploaded my patch to the JIRA issue at the top.