List<ApprovalChainInfoData> temp = new ArrayList<>();
approvalChainInfoData = approvalChainInfoData1.stream().filter(i -> {
boolean isSame = temp.stream().anyMatch(j -> j.getNodeKey().equals(i.getNodeKey()) && j.getApprovalId().equals(i.getApprovalId()) && j.getStartTime().equals(i.getStartTime()) && Strings.isBlank(j.getEndTime()) && Strings.isBlank(i.getEndTime()));
if (isSame) {
return false;
} else {
temp.add(i);
return true;
}
}).collect(Collectors.toList());