docs: private boolean checkChildren( boolean exclusive,
                                     int depth ) {
          if (children == null) {
              // a file
  
              return owner == null || !(this.exclusive || exclusive);
          }
          // a folder
  
          if (owner == null) {
              // no owner, checking children
  
              if (depth != 0) {
                  boolean canLock = true;
                  int limit = children.length;
                  for (int i = 0; i < limit; i++) {
                      if (!children[i].checkChildren(exclusive, depth - 1)) {
                          canLock = false;
                      }
                  }
                  return canLock;
              }
              // depth == 0 -> we don't care for children
              return true;
          }
          // there already is a owner
          return !(this.exclusive || exclusive);
  
      }