if (classification == null)
return null;
newClassification.setWeight(Classification.ONE_HUNDRED_PERCENT - classification.getChildrenWeight());
newClassification.setParent(classification);
classification.addChild(newClassification);
TaxonomyNode newChild = new ClassificationNode(this, newClassification);
int insertAt = isRoot() ? children.size() - 1 : children.size();
children.add(insertAt, newChild);