public de.unihannover.sim.labysim.model.bmp.Labyrinth getBMPLabyrinth(){
		
		IBmpIO _bmpIO = new BmpIO();
		_bmpIO.load(this._filename + ".bmp");
		
		int _sizeX, _sizeY;		
		_sizeX = _bmpIO.getSizeX();
		_sizeY = _bmpIO.getSizeY();
		
		LinkedList<de.unihannover.sim.labysim.model.bmp.Node> _nodes = new LinkedList<de.unihannover.sim.labysim.model.bmp.Node>();
		
		for(int _x = 0; _x < _sizeX; _x++){
			for(int _y = 0; _y < _sizeY; _y++){
				int _color = _bmpIO.get(_x, _y);
				switch(_color){
				case -65536: // Start node (red)
					_nodes.add(new de.unihannover.sim.labysim.model.bmp.Node(new de.unihannover.sim.labysim.model.bmp.Position(_x, _y), true, false));
					break;
				case -16776961: // End node (blue)
					_nodes.add(new de.unihannover.sim.labysim.model.bmp.Node(new de.unihannover.sim.labysim.model.bmp.Position(_x, _y), false, true));
					break;
				case -1: // Node (white)
					_nodes.add(new de.unihannover.sim.labysim.model.bmp.Node(new de.unihannover.sim.labysim.model.bmp.Position(_x, _y), false, false));
					break;
				case -16777216: // Wall (black)
					
					break;
				}
			}
		}
		
		de.unihannover.sim.labysim.model.bmp.Labyrinth _labyrinth = new de.unihannover.sim.labysim.model.bmp.Labyrinth(_nodes);
		
		
		return _labyrinth;
	}