'Check a trackable for presence of required fields
@param: the trackable object'

def __get_fields(self, trackable, super_entity=True):

    fields = []
    if hasattr(trackable, 'fields'):
        keys = trackable.fields
    else:
        keys = trackable
    try:
        if (super_entity and self.__super_entity(trackable) and (UID in keys)):
            return ('instance_type', UID)
        if (LOCATION_ID in keys):
            fields.append(LOCATION_ID)
        if (TRACK_ID in keys):
            fields.append(TRACK_ID)
            return fields
        elif (hasattr(trackable, 'update_record') or isinstance(trackable, Table) or isinstance(trackable, Row)):
            return fields
    except:
        pass
    return None
