public IVariableWidget getWidget() {
		if (widget == null) {
			switch (type) {
			case TEXT:
				System.out.println("Widget: TextInput");
				widget = new TextInput(label);
				break;
			case INTEGER:
				System.out.println("Widget: IntegerInput");
				widget = new IntegerInput(label);
				break;
			case FLOAT:
				System.out.println("Widget: FloatInput");
				widget = new FloatInput(label);
				break;
			case DATE:
				System.out.println("Widget: DateInput");
				widget = new DateInput(label);
				break;
			case SELECT:
				System.out.println("Widget: SelectInput");
				JSONArray jChoices = jOptions.getJSONArray("choices");
				int length = jChoices.length();
				String[] choices = new String[length];
				for (int i = 0; i < length; i++) {
					choices[i] = jChoices.getString(i);
				}
				widget = new SelectInput(label, choices);
				break;
			default:
				System.out.println("Widget: StringInput");
				widget = new StringInput(label);
				break;
			}
		}
		return widget;
	}