private void cpuLoadNextProcess() {
		System.out.println("cpuLoadNextProcess()");
		Process p = cpu.startNextProcess();
		if (p != null) {
			p.updateProcess(CPU_ACTIVE);
			
			long processRemainingTime = p.getRemainingCPUTime();
			long maxCpuTime = this.maxCpuTime;
			long processNextIO = p.getTimeToNextIoOperation();
			long pid = p.getProcessId();
			
			System.out.println("["+pid+"] Got process from CPU queue...");
			System.out.println("["+pid+"] processRemainingTime:               "+processRemainingTime);
			System.out.println("["+pid+"] maxCpuTime:                         "+maxCpuTime);
			System.out.println("["+pid+"] processNextIO:                      "+processNextIO);

			if (processRemainingTime < maxCpuTime && processRemainingTime < processNextIO) {
				// Process is finished
				this.newEvent(END_PROCESS, processRemainingTime);
			} else if (maxCpuTime < processRemainingTime && maxCpuTime < processNextIO) {
				// Process max time in CPU exceeded
				this.newEvent(SWITCH_PROCESS, maxCpuTime);
			} else {
				// Process needs to perform IO operation
				this.newEvent(IO_REQUEST, processNextIO);
			}
		} else {
			System.out.println("No process to load in CPU queue");
		}
	}