public void fixate() {
		Wire first = this.getStartPiece();
		Wire last = this.getEndPiece();

		Board startboard = this.circuit.getBoardAt(first.getStartX(), first.getStartY());
		Board endboard = this.circuit.getBoardAt(last.getEndX(), last.getEndY());

		Node startnode = startboard.getNodeAt(first.getStartX() - startboard.getX(), first.getStartY() - startboard.getY());

		Node endnode = endboard.getNodeAt(last.getEndX() - endboard.getX(), last.getEndY() - endboard.getY());

		boolean ok = true;

		if (NodeType.conflicts(startnode.getType(), endnode.getType())) {
			ok = false;
			this.circuit.getJBreadBoard().setMessage("Wire Removed. That wire created a potential short circuit.");
		}

		if (startnode.getPotential() == endnode.getPotential()) {
			ok = false;
			this.circuit.getJBreadBoard().setMessage("Wire Removed. That wire created a connection that was already made.");
		}

		if (ok) {
			last.potential = new Potential(startnode, endnode);
			this.circuit.getSimulation().addEvent(startnode, 0);

			endboard.wires.add(last);

			if (endboard != startboard) {
				endboard.interwires.add(last);
				startboard.interwires.add(last);
			}

			Wire temp = last;
			while (temp != null) {
				temp.addMouseListener(Wire.wireselect);
				temp.addMouseMotionListener(Wire.wireselect);
				temp = temp.prev;
			}
		} else {
			last.delete();
		}
	}