instead of using null to mark breaks, use a special breakNode