public void setDNA(DNA dna) {
		if (!wasFirstPainting) {
			needSetDNA = dna;
			return;
		}
		if (model == null) {
			model = new DNAScrollerModel(dna);
			model.addPropertyChangeListener(this);
		}
		else {
			model.clearMutationListeners();
			model.setDNA(dna);
		}
		createRectangles();
		setGeometry();
		if (dna != null) {
			if (mutationListeners != null) {
				for (MutationListenerHolder h : mutationListeners) {
					if (h == null)
						continue;
					if (h.strandIndex < 0)
						model.addMutationListener(h.l);
					else model.addMutationListener(h.strandIndex, h.l);
				}
			}
		}
		else {
			updateScrollBar();
			repaint();
		}
	}