<commit_before>package hu.webarticum.treeprinter;

import java.util.ArrayList;
import java.util.List;

abstract public class AbstractTreeNodeDecorator implements TreeNode {
	
	protected final TreeNode decoratedNode;

	protected final boolean decorable;
	
	protected final boolean inherit;
	
	protected final boolean forceInherit;

	public AbstractTreeNodeDecorator(TreeNode decoratedNode) {
		this(decoratedNode, decoratedNode.isDecorable(), true, false);
	}

	public AbstractTreeNodeDecorator(TreeNode decoratedNode, boolean decorable) {
		this(decoratedNode, decorable, true, false);
	}

	public AbstractTreeNodeDecorator(TreeNode decoratedNode, boolean decorable, boolean inherit) {
		this(decoratedNode, decorable, inherit, false);
	}

	public AbstractTreeNodeDecorator(TreeNode decoratedNode, boolean decorable, boolean inherit, boolean forceInherit) {
		this.decoratedNode = decoratedNode;
		this.decorable = decorable;
		this.inherit = inherit;
		this.forceInherit = forceInherit;
	}
	
	public TreeNode getDecoratedNode() {
		return decoratedNode;
	}
	
	@Override
	public String getContent() {
		
		// TODO
		
		return null;
	}

	@Override<commit_msg>AbstractTreeNodeDecorator: getInmostNode() added<commit_after>package hu.webarticum.treeprinter;

import java.util.ArrayList;
import java.util.List;

abstract public class AbstractTreeNodeDecorator implements TreeNode {
	
	protected final TreeNode decoratedNode;

	protected final boolean decorable;
	
	protected final boolean inherit;
	
	protected final boolean forceInherit;

	public AbstractTreeNodeDecorator(TreeNode decoratedNode) {
		this(decoratedNode, decoratedNode.isDecorable(), true, false);
	}

	public AbstractTreeNodeDecorator(TreeNode decoratedNode, boolean decorable) {
		this(decoratedNode, decorable, true, false);
	}

	public AbstractTreeNodeDecorator(TreeNode decoratedNode, boolean decorable, boolean inherit) {
		this(decoratedNode, decorable, inherit, false);
	}

	public AbstractTreeNodeDecorator(TreeNode decoratedNode, boolean decorable, boolean inherit, boolean forceInherit) {
		this.decoratedNode = decoratedNode;
		this.decorable = decorable;
		this.inherit = inherit;
		this.forceInherit = forceInherit;
	}
	
	public TreeNode getDecoratedNode() {
		return decoratedNode;
	}

	public TreeNode getInmostNode() {
		if (decoratedNode instanceof AbstractTreeNodeDecorator) {
			return ((AbstractTreeNodeDecorator)decoratedNode).getInmostNode();
		} else {
			return decoratedNode;
		}
	}
	
	@Override
	public String getContent() {
		
		// TODO
		
		return null;
	}

	@Override
{'fraction_non_alphanumeric': 0.07578125, 'fraction_numerical': 0.0, 'mean_word_length': 5.549872122762149, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7251804', 'n_tokens_mistral': 807, 'n_tokens_neox': 730, 'n_words': 183}