DataNode uses itkCloneMacro(Self) but does not implement the InternalClone methods. Therefore using Clone() defaults to itk::LightObject::InternalClone, thus a nwe instance is created.
Either we should allow cloning but then implement it correctly (with a specific DataNode::InternalClone) or we should not allow it at all.