cloudsim-plus-master/cloudsim-plus-master/cloudsim-plus/src/main/java/org/cloudbus/cloudsim/schedulers/cloudlet/CloudletSchedulerCompletelyFair.java
@Override
    protected void moveNextCloudletsFromWaitingToExecList() {
        final List<CloudletExecutionInfo> preemptedCloudlets = preemptExecCloudletsWithExpiredVRuntimeAndMoveToWaitingList();
        super.moveNextCloudletsFromWaitingToExecList();

        /*After preempted Cloudlets are moved to the waiting list
        and next Cloudlets on the beginning of this list are moved
        to the execution list, the virtual runtime of these preempted Cloudlets
        is reseted so that they can compete with other waiting Cloudlets to use
        the processor again.*/
        for(final CloudletExecutionInfo c: preemptedCloudlets) {
            c.setVirtualRuntime(computeCloudletInitialVirtualRuntime(c));
        }
    }
/**
     * Checks which Cloudlets in the execution list has the virtual runtime
     * equals to its allocated time slice and preempt them, getting
     * the most priority Cloudlets in the waiting list (that is those ones
     * in the beginning of the list).
     *
     * @see #preemptExecCloudletsWithExpiredVRuntimeAndMoveToWaitingList()
     */
Checks which Cloudlets in the execution list has the virtual runtime
equals to its allocated time slice and preempt them, getting
the most priority Cloudlets in the waiting list (that is those ones
in the beginning of the list).


Checks which Cloudlets in the execution list has the virtual runtime equals to its allocated time slice and preempt them getting the most priority Cloudlets in the waiting list ( that is those ones in the beginning of the list ) .
@Override
    protected void moveNextCloudletsFromWaitingToExecList() {
        final List<CloudletExecutionInfo> preemptedCloudlets = preemptExecCloudletsWithExpiredVRuntimeAndMoveToWaitingList();
        super.moveNextCloudletsFromWaitingToExecList();
        /*After preempted Cloudlets are moved to the waiting list
        and next Cloudlets on the beginning of this list are moved
        to the execution list, the virtual runtime of these preempted Cloudlets
        is reseted so that they can compete with other waiting Cloudlets to use
        the processor again.*/
        for(final CloudletExecutionInfo c: preemptedCloudlets) {
            c.setVirtualRuntime(computeCloudletInitialVirtualRuntime(c));
        }
    }
@ Override protected void moveNextCloudletsFromWaitingToExecList ( ) { final List < CloudletExecutionInfo > preemptedCloudlets = preemptExecCloudletsWithExpiredVRuntimeAndMoveToWaitingList ( ) ; super . moveNextCloudletsFromWaitingToExecList ( ) ; /*After preempted Cloudlets are moved to the waiting list
        and next Cloudlets on the beginning of this list are moved
        to the execution list, the virtual runtime of these preempted Cloudlets
        is reseted so that they can compete with other waiting Cloudlets to use
        the processor again.*/ for ( final CloudletExecutionInfo c : preemptedCloudlets ) { c . setVirtualRuntime ( computeCloudletInitialVirtualRuntime ( c ) ) ; } }
Checks which Cloudlets in the execution list has the virtual runtime
 equals to its allocated time slice and preempt them, getting
 the most priority Cloudlets in the waiting list (that is those ones
 in the beginning of the list).
Checks which Cloudlets in the execution list has the virtual runtime equals to its allocated time slice and preempt them getting the most priority Cloudlets in the waiting list ( that is those ones in the beginning of the list ) .