code: @Override
      public IEntityLock[] findUnexpired(
              java.util.Date expiration,
              Class entityType,
              String entityKey,
              Integer lockType,
              String lockOwner)
              throws LockingException {
          IEntityLock[] locks = find(entityType, entityKey, lockType, null, lockOwner);
          List lockAL = new ArrayList(locks.length);
          for (int i = 0; i < locks.length; i++) {
              if (locks[i].getExpirationTime().after(expiration)) {
                  lockAL.add(locks[i]);
              }
          }
          return ((IEntityLock[]) lockAL.toArray(new IEntityLock[lockAL.size()]));
      }
docs: Returns an IEntityLock[] containing unexpired locks, based on the params, any or all of which
  may be null EXCEPT FOR <code>expiration</code>. A null param means any value, so <code>
  find(expir,myType,myKey,null,null)</code> will return all <code>IEntityLocks</code> for
  myType and myKey unexpired as of <code>expir</code>.
  
  @param expiration Date
  @param entityType Class
  @param entityKey String
  @param lockType Integer - so we can accept a null value.
  @param lockOwner String
  @exception LockingException - wraps an Exception specific to the store.