code: @Nullable
    private TaskLockPosse createOrFindLockPosse(
        final Task task,
        final Interval interval,
        @Nullable final String preferredVersion,
        final TaskLockType lockType
    )
    {
      giant.lock();
  
      try {
        return createOrFindLockPosse(
            lockType,
            task.getId(),
            task.getGroupId(),
            task.getDataSource(),
            interval,
            preferredVersion,
            task.getPriority(),
            false
        );
      }
      finally {
        giant.unlock();
      }
    }
docs: Create a new {@link TaskLockPosse} or find an existing one for the given task and interval.  Note that the returned
  {@link TaskLockPosse} can hold a revoked lock.
  
  @param task             task acquiring a lock
  @param interval         interval to be locked
  @param preferredVersion a preferred version string
  @param lockType         type of lock to be acquired
  
  @return a lock posse or null if any posse is found and a new poss cannot be created
  
  @see #createNewTaskLockPosse