code: def FromManagedObject(self):
  		
  		import os
  
  		if (isinstance(self.mo, ManagedObject) == True):
  			self.classId = self.mo.classId
  
  			if self.mo.getattr('Dn'):
  				self.dn = self.mo.getattr('Dn')
  
  			if self.mo.getattr('Rn'):
  				self.rn = self.mo.getattr('Rn')
  			elif self.dn:
  				self.rn = os.path.basename(self.dn)
  
  			for property in UcsUtils.GetUcsPropertyMetaAttributeList(self.mo.classId):
  				self.properties[property] = self.mo.getattr(property)
  
  			if len(self.mo.child):
  				for ch in self.mo.child:
  					if not ch.getattr('Dn'):
  						_Dn = self.mo.getattr('Dn') + "/" + ch.getattr('Rn')
  						ch.setattr('Dn', _Dn)
  					gmo = _GenericMO(mo=ch)
  					self.child.append(gmo)
docs: Method creates and returns an object of _GenericMO class using the classId and other information from the
  		managed object.