anchor.diff:    return runZoned(() => _runWithLock(path, callback, tryInterval, maxTrials),
                                        onError: (e, s) {
       freeLock(path);
  -    logger.info('Error executing callback.', e, s);
  -    throw e;
  +    if (e is LockException) {
  +      logger.warning(e.toString());
  +    } else {
  +      logger.shout('Error executing callback.', e, s);
  +    }
       exit(1);
     });
  -}+}
  
positive.code:     final String message;
      /** The max count that was exceeded. */
      final num count;
  
      LockException(this.message, [this.count]);
  
      String toString() {
        if (message != null) {
          if (count != null) return "LockException after $count trials: $message";
          return "LockException: $message";
        }
        if (count != null) return "LockException after $count trials";
        return "LockException";
      }
  
  }
  
negative.code:       trials++;
        if (trials == maxTrials) {
          timer.cancel();
          completer.completeError(
              new LockException(null, trials, path));
        }
      }
    }
  