in src/main/java/com/amazonaws/services/dynamodbv2/streamsadapter/leases/StreamsLeaseTaker.java [492:508]
private List<T> getLeasesToEvict(int numLeasesToEvict) {
List<T> leasesToEvict = new ArrayList<>();
for (T lease : allLeases.values()) {
if (numLeasesToEvict <= 0) return leasesToEvict;
if (workerIdentifier.equals(lease.getLeaseOwner()) && lease instanceof KinesisClientLease) {
KinesisClientLease kinesisClientLease = (KinesisClientLease) lease;
if (kinesisClientLease.getCheckpoint() != null) {
String sequenceNumber = kinesisClientLease.getCheckpoint().getSequenceNumber();
if (SHARD_END.equals(sequenceNumber)) {
leasesToEvict.add(lease);
numLeasesToEvict--;
}
}
}
}
return leasesToEvict;
}