public void update() {
		if (this.parent1 != null) {
			this.parent1.child = null;
		}
		if (this.parent2 != null) {
			this.parent2.child = null;
		}

		if (this.node1 != null) {
			this.parent1 = this.node1.getPotential();
		}
		if (this.node2 != null) {
			this.parent2 = this.node2.getPotential();
		}

		if (this.parent1 == this) {
			this.parent1 = null;
		}
		if (this.parent2 == this) {
			this.parent2 = null;
		}

		if (this.parent1 != null) {
			this.parent1.child = this;
		}
		if (this.parent2 != null) {
			this.parent2.child = this;
		}

		Potential oldchild = this.child;
		this.child = null;

		this.setType();

		this.setValue("NC", this.modifiedtime);

		if (oldchild != null) {
			oldchild.update();
		}
	}