public ArrayList<Widget> getWidgets() {
		if (this.widgets == null) {
			this.widgets = new ArrayList<Widget>();
			try {
				JSONObject json = this.api.makeRequest(this.LinkWidgets);
				JSONArray rawNodes = json.getJSONArray("Widgets");
				int rawCount = rawNodes.length();
				for (int i = 0; i < rawCount; i++) {
					this.widgets.add(new Widget(rawNodes.getJSONObject(i), this));
				}
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (JSONException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (ParseException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		return this.widgets;
	}