private PageTextField createTextField() {
			PageTextField t = new PageTextField();
			t.setPage(page);
			t.setIndex(indexOfComponent);
			if (uid != null) {
				t.setUid(uid);
				uid = null;
			}
			boolean needCache = ConnectionManager.sharedInstance().isCachingAllowed() && page.isRemote();
			if (titleText != null) {
				if (needCache) {
					File cml = ConnectionManager.sharedInstance().getLocalCopy(page.getAddress());
					if (cml != null && cml.exists())
						t.setBase(cml);
				}
				// do not restore the base, see createTextBox()
				t.setTitle(titleText);
				titleText = null;
				if (needCache) // FIXME: Do we want to check caching for all linked files?
					t.cacheLinkedFiles(page.getPathBase());
			}
			if (description != null) {
				t.setReferenceAnswer(description);
				description = null;
			}
			t.setChangable(page.isEditable());
			String key = page.getAddress() + "#" + ModelerUtilities.getSortableString(indexOfComponent, 3) + "%"
					+ t.getClass().getName();
			QuestionAndAnswer qa = UserData.sharedInstance().getData(key);
			if (qa != null) {
				if (!QuestionAndAnswer.NO_ANSWER.equals(qa.getAnswer()))
					t.setText(qa.getAnswer());
			}
			else {
				qa = new QuestionAndAnswer(t.getTitle(), QuestionAndAnswer.NO_ANSWER, t.getReferenceAnswer());
				UserData.sharedInstance().putData(key, qa);
			}
			if (layout != null) {
				t.setQuestionPosition(layout);
				layout = null;
			}
			if (width > 0 && height > 0) {
				t.setPreferredSize(new Dimension((int) width, (int) height));
				width = height = 0;
			}
			else { // backward compatible
				if (ncol > 0) {
					t.setColumns(ncol);
					ncol = 0;
				}
				else {
					t.setColumns(t.getColumns());
				}
			}
			if (!opaque) {
				t.setOpaque(false);
				opaque = true;
			}
			else {
				t.setOpaque(true);
				if ((argb1 | ARGB_NOT_SET) != ARGB_NOT_SET) {
					t.setBackground(new Color(argb1));
					argb1 = ARGB_NOT_SET;
				}
				else {
					t.setBackground(page.getBackground());
				}
			}
			if (borderType != null) {
				t.setBorderType(borderType);
				borderType = null;
			}
			if (ConnectionManager.sharedInstance().isCachingAllowed()) {
				if (page.isRemote())
					t.cacheLinkedFiles(page.getPathBase());
			}
			htmlComponentConnector.enroll(t.getQuestionTextBox());
			indexOfComponent++;
			return t;
		}