package edu.kit.iks.CryptographicsLib;

import java.util.ArrayList;
import java.util.List;
import javax.swing.JComponent;

abstract public class AbstractController {
	protected JComponent view = null;
	
	protected AbstractController parentController = null;
	
	/**
	 * List of all child controllers
	 */
	protected List<AbstractController> childControllers = new ArrayList<AbstractController>();

	public void addChildController(AbstractController childController) {
		
	}
	
	public void removeChildController(AbstractController childController) {
		
	}
	
	abstract public void loadView();
	
	public void unloadView() {
		this.view = null;
	}
	
	public JComponent getView() {
		return this.view;
	}

	public AbstractController getParentController() {
		return this.parentController;
	}
	
	public List<AbstractController> getChildControllers() {
		// TODO: return immutable copy
		return this.childControllers;
	}
	
	public boolean viewIsLoaded() {
		return (this.view != null);
	}
}

@@ -291,16 +291,260 @@
 trollers
+. A view controller can have many%0A%09 * child view controllers. The view of a child view controller should%0A%09 * always be visible, so this is not a list of possible child controllers%0A%09 * but rather a list of all currently used child controllers!  
 %0A%09 */%0A%09p

Add explentation.