private InfoNode dealWithPromote(InfoNode infoNode, Node node) {
		if(infoNode == null){return null;}
		node.add(infoNode.newKey, infoNode.rightChild);
		if(node.getSize() <= maxDegree){return null;}
		InternalNode sibling = new InternalNode();
		int mid = (node.getSize()/2)+1;
		int j = 1;
		int loopTo = ((InternalNode)node).size;
		String promoteKey = ((InternalNode)node).keys[mid];
		for(int i = mid+1;i<=loopTo;i++){
			sibling.keys[j] = node.getKey(i);
			sibling.size++;
			j++;
		}
		j=0;
		for(int i = mid; i<=loopTo;i++){
			sibling.children[j] = node.getChild(i);
			j++;
			node.remove(i);
		}
		return new InfoNode(promoteKey, sibling);
	}