<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def DiffArrayObjects(self, oldObj, newObj, isElementLinks=False):
 """Method which deligates the diffing of arrays based on the type"""

      if oldObj == newObj:
         return True
      if not oldObj or not newObj:
         return False
      if len(oldObj) != len(newObj):
         __Log__.debug('DiffArrayObjects: Array lengths do not match %d != %d'
            % (len(oldObj), len(newObj)))
         return False
      firstObj = oldObj[0]
      if IsPrimitiveType(firstObj):
         return self.DiffPrimitiveArrays(oldObj, newObj)
      elif isinstance(firstObj, types.ManagedObject):
         return self.DiffAnyArrays(oldObj, newObj, isElementLinks)
      elif isinstance(firstObj, types.DataObject):
         return self.DiffDoArrays(oldObj, newObj, isElementLinks)
      else:
         raise TypeError("Unknown type: %s" % oldObj.__class__)