public override void Load (string fileName)
		{
			ContentName = fileName;

			if (pobject == null) {
				var dict = new PDictionary ();
				if (dict.Reload (fileName)) {
					pobject = dict;
				} else {
					var arr = new PArray ();
					if (!arr.Reload (fileName)) {
						MessageService.ShowError (GettextCatalog.GetString ("Can't load plist file {0}.", fileName));
						return;
					}
					pobject = arr;
				}
				
				Buffer = null;
				widget.SetPListContainer (pobject);
				pobject.Changed += (sender, e) => {
					Buffer = null;
					IsDirty = true;
				};
			}
			this.IsDirty = false;
		}