return getCloudletExecList()
.stream()
.mapToDouble(c -> getEstimatedFinishTimeOfCloudlet(c, currentTime))
.min().orElse(Double.MAX_VALUE);
}
<BUG>protected double getEstimatedFinishTimeOfCloudlet(CloudletExecutionInfo rcl, double currentTime) {
double estimatedFinishTime = currentTime
+ (rcl.getRemainingCloudletLength()

/ (processor.getAvailableMipsByPe() * rcl.getNumberOfPes()));
if (estimatedFinishTime - currentTime < getVm().getSimulation().getMinTimeBetweenEvents()) {
estimatedFinishTime = currentTime + getVm().getSimulation().getMinTimeBetweenEvents();
}</BUG>
return estimatedFinishTime;

return getCloudletExecList()
.stream()
.mapToDouble(c -> getEstimatedFinishTimeOfCloudlet(c, currentTime))
.min().orElse(Double.MAX_VALUE);
