reapAllLocks

If supported, attempts to reap all the locks of this type by forcefully
deleting the locks (both held and attempted). Lock reaping is different
than coordinated lock revocation in that, there is no coordination, and
the behavior is undefined if the lock holder is still alive.
Calling this should have the same affect as calling InterProcessLock.reapExpiredLocks(long)
with timeout=0.

reapExpiredLocks

Will delete all lock znodes of this type (either read or write) which are "expired"
according to timeout. Assumption is that the clock skew between zookeeper and this servers
is negligible.
Referred in zk recipe as "Revocable Shared Locks with Freaking Laser Beams".
(http://zookeeper.apache.org/doc/trunk/recipes.html).

getLockPath

Determine based on a list of children under a ZNode, whether or not a
process which created a specified ZNode has obtained a lock. If a lock is
not obtained, return the path that we should watch awaiting its deletion.
Otherwise, return null.
This method is abstract as the logic for determining whether or not a
lock is obtained depends on the type of lock being implemented.

Parameters:

myZNode - The ZNode created by the process attempting to acquire
a lock

children - List of all child ZNodes under the lock's parent ZNode

Returns:

The path to watch, or null if myZNode can represent a correctly
acquired lock.