LockableRandomAccessBuffer successor = innerMigrate(underlying);
if(successor == null) throw new NullPointerException();
RAFLock newLock = null;
if(lockOpenCount > 0) {
try {
newLock = successor.lockOpen();
} catch (IOException e) {
successor.close();
successor.free();
throw e;
}