graphStruct.getJGraph().addMouseListener(new JGraphMouseAdapter(graphStruct.getJGraph(), graphStruct));
	public GEStreamNode construct(GraphStructure graphStruct, int lvel)	{		System.out.println("Constructing the feedback loop " +this.getName());				/**Set the level of this and add this to list of containers at this level **/		this.level = lvel;		graphStruct.containerNodes.addContainerToLevel(level, this);		lvel++; // Contained elements of this will be at a higher level				graphStruct.getJGraph().addMouseListener(new JGraphMouseAdapter(graphStruct.getJGraph(), graphStruct));			this.localGraphStruct = graphStruct;								joiner.construct(graphStruct, lvel);		GEStreamNode lastBody = body.construct(graphStruct, level);						System.out.println("Connecting " + joiner.getName()+  " to "+ body.getName());				graphStruct.connectDraw(joiner, lastBody );			// Had an error in the construction of the feedback loop.		// Error Fixed but now Sugiyama Layout algorithm does not work since it 		// can't operate on a DAG		//TODO		//Possible Solution: Perform Layout Algorithm first. Then make connection		// that would result in the DAG		splitter.construct(graphStruct, level);		System.out.println("Connecting " + body.getName()+  " to "+ splitter.getName());		graphStruct.connectDraw(body, splitter);				GEStreamNode lastLoop = loop.construct(graphStruct, level); 				System.out.println("Connecting " + splitter.getName()+  " to "+ loop.getName());		graphStruct.connectDraw(splitter, loop);				System.out.println("Connecting " + loop.getName()+  " to "+ joiner.getName());		graphStruct.connectDraw(loop, joiner);			graphStruct.getGraphModel().insert(graphStruct.getCells().toArray(),graphStruct.getAttributes(), graphStruct.getConnectionSet(), null, null);		this.initDrawAttributes(graphStruct, new Rectangle(new Point(100,100)));						return this;	}