something similar to AbstractRecord should contain some kind of reference to parent AbstractRecord and can contain whole list of descendants.