private Node searchLeaf(Case currentCase){
		List<Integer> currentAttr = currentCase.getAttributes();
		Node currentNode = rootNode;
		while (currentNode.getCases() == null){
			List<Node> children = currentNode.getChildren();
			for (Node child : children){
				int attrValue = currentAttr.get(child.getSplittingAttr());
				if ( attrValue <= child.getMaxValue() && attrValue >= child.getMinValue() ){
					currentNode = child;
					break;
				}
			}
//			if none of the children fits to our attributes, itsn't ok!
			if (!children.contains(currentNode)){
				System.out.println("Comething's wrong in searchLeaf: !children.contains(currentNode)");
				System.exit(0);
			}
		}
//		check if we in any lead now.
		if (currentNode.getCases() == null) {
			System.out.println("Comething's wrong in searchLeaf: currentNode.getCases() == null");
			System.exit(0);
		}
		return currentNode;
	}