public void addOutgoingEdge(Edge out) throws MaltChainedException {
		super.addOutgoingEdge(out);
		if (out.getTarget() != null) {
			if (out.getType() == Edge.DEPENDENCY_EDGE && out.getTarget() instanceof DependencyNode) {
				Node dependent = out.getTarget();
				if (compareTo(dependent) > 0) {
					leftDependents.add((DependencyNode)dependent);
				} else if (compareTo(dependent) < 0) {
					rightDependents.add((DependencyNode)dependent);
				}
			} else if (out.getType() == Edge.PHRASE_STRUCTURE_EDGE && out.getTarget() instanceof PhraseStructureNode) {
				children.add((PhraseStructureNode)out.getTarget());
			}
		}
	}