Position position  String containerID
src/org/eclipse/iee/editor/core/container/ContainerManager.java
return new Container(
            position, containerID, fStyledText, this);
Container createContainer(Position position, String containerID)
String containerID
src/org/eclipse/iee/editor/core/pad/Pad.java
fContainerID = containerID;
void setContainerID(String containerID)
src/org/eclipse/iee/editor/core/pad/PadManager.java
fContainerManagers = new HashSet<ContainerManager>();
		InitListener();
	
	public void registerContainerManager(ContainerManager containerManager) {
		System.out.println("registerContainerManager");
		containerManager.addContainerManagerListener(fContainerManagerListener);
		fContainerManagers.add(containerManager);
public PadManager()
ContainerManager containerManager
src/org/eclipse/iee/editor/core/pad/PadManager.java
containerManager.removeContainerManagerListener(fContainerManagerListener);
		fContainerManagers.remove(containerManager);
void releaseContainerManager(ContainerManager containerManager)
Pad pad  int location  ContainerManager containerManager
src/org/eclipse/iee/editor/core/pad/PadManager.java
Assert.isLegal(fContainerManagers.contains(containerManager));
		fSuspendedPads.put(pad.getContainerID(), pad);
		containerManager.RequestContainerAllocation(pad.getContainerID(), location);
	public void destroyPad(Pad pad, ContainerManager containerManager) {
			String containerID = pad.getContainerID();
			containerManager.RequestContainerRelease(containerID);
		
	protected void InitListener() {
		fContainerManagerListener = new IContainerManagerListener() {
				Assert.isLegal(pad.getContainerID().equals(containerID));
				Assert.isNotNull(pad); // stash save
				Pad pad = original.copy();
				pad.setContainerID(containerID);
void createPad(Pad pad, int location, ContainerManager containerManager)
StyledText styledText
src/org/eclipse/iee/editor/core/container/Container.java
fStyledText = styledText;
void setStyledText(StyledText styledText)
ContainerManager containerManager
src/org/eclipse/iee/editor/core/container/Container.java
fContainerManager = containerManager;
void setContainerManager(ContainerManager containerManager)
ContainerManager containerManager
src/org/eclipse/iee/editor/core/pad/PadManager.java
fContainerManager = containerManager;
		
		InitListeners();
		return fPads.keySet().toArray();
		
	public void addPad(Pad pad, int location) {
		fSuspendedPads.put(pad.getContainerID(), pad);		
		fContainerManager.RequestContainerAllocation(pad.getContainerID(), location);
	public void removePad(Pad pad) {
			String containerID = pad.getContainer().getContainerID();
			fContainerManager.RequestContainerRelease(containerID);
	protected void InitListeners() {
		fContainerManager.addContainerManagerListener(new IContainerManagerListener() {
				Assert.isNotNull(pad);
				Pad pad = original.copy(containerID);
public PadManager(ContainerManager containerManager)