code: def WriteXml(self, w, option, elementName=None):
  		
  		if (option == WriteXmlOption.Dirty and not self.IsDirty()):
  			return
  		if elementName == None:
  			x = w.createElement(self.propMoMeta.xmlAttribute)
  		else:
  			x = w.createElement(elementName)
  		if UcsUtils.FindClassIdInMoMetaIgnoreCase(self.classId) != None:
  			for at in UcsUtils.GetUcsPropertyMetaAttributeList(self.classId):
  				atMeta = UcsUtils.GetUcsPropertyMeta(self.classId, at)
  				if (atMeta.access == UcsPropertyMeta.Internal):
  					continue
  				elif ((option != WriteXmlOption.Dirty) or (
  							(atMeta.mask != None) and (self.dirtyMask & atMeta.mask) != 0)):
  					if (getattr(self, at) != None):
  						x.setAttribute(atMeta.xmlAttribute, getattr(self, at))
  		# Adding XtraProperties from object into Xml query document
  		for xtraProp in self.__dict__['XtraProperty']:
  			x.setAttribute(UcsUtils.WordL(xtraProp), self.__dict__['XtraProperty'][xtraProp])
  		x_child = self.childWriteXml(w, option)
  		for xc in x_child:
  			if (xc != None):
  				x.appendChild(xc)
  		return x
docs: Method writes the xml representation of the managed object.