private Node putElementIntoColumn(Node header, Node elementToPut, int rowId) {
		Node element = header;
		Node previousRow = header;
		Node nextRow = header.getTop();
		while (nextRow.getRow() >= rowId) {
			if (nextRow.getRow() == rowId) {
				element = nextRow;
				if (elementToPut != null) {
					element.setValue(elementToPut.getValue());
				}
				break;
			} else {
				previousRow = nextRow;
				nextRow = nextRow.getTop();
			}
		}
		if (element == header) {
			if (elementToPut != null) {
				element = elementToPut;
				element.setTop(nextRow);
				previousRow.setTop(element);
			} else {
				element = new Node(rowId, header.getColumn(), null, nextRow, null);
				element.setLeft(element);
				previousRow.setTop(element);
			}
		}
		return element;
	}