function AbbreviationNode(parent) {
						/** @type AbbreviationNode */
						this.parent = null;
						this.children = [];
						this._attributes = [];

						/** @type String Raw abbreviation for current node */
						this.abbreviation = '';
						this.counter = 1;
						this._name = null;
						this._text = '';
						this.repeatCount = 1;
						this.hasImplicitRepeat = false;

						/** Custom data dictionary */
						this._data = {};

						// output properties
						this.start = '';
						this.end = '';
						this.content = '';
						this.padding = '';
					}
Creates a deep copy of current node
@returns {AbbreviationNode}