code: public void removeLockedObjectOwner(String owner) {
  
          try {
              if (_owner != null) {
                  int size = _owner.length;
                  for (int i = 0; i < size; i++) {
                      // check every owner if it is the requested one
                      if (_owner[i].equals(owner)) {
                          // remove the owner
                          String[] newLockedObjectOwner = new String[size - 1];
                          for (int j = 0; j < (size - 1); j++) {
                              if (j < i) {
                                  newLockedObjectOwner[j] = _owner[j];
                              } else {
                                  newLockedObjectOwner[j] = _owner[j + 1];
                              }
                          }
                          _owner = newLockedObjectOwner;
  
                      }
                  }
                  if (_owner.length == 0) {
                      _owner = null;
                  }
              }
          } catch (ArrayIndexOutOfBoundsException e) {
              System.out.println("LockedObject.removeLockedObjectOwner()");
              System.out.println(e.toString());
          }
      }
docs: tries to remove the owner from the lock
  
  @param owner
  string that represents the owner