add property to this container. if this container has no id then it's like sync=False.
        :param c_property_tuple: property tuple defined like this :
               => property name = c_property_tuple[0]
               => property value = c_property_tuple[1]
        :param sync: If sync=True(default) synchronize with Ariane server. If sync=False,
        add the property tuple object on list to be added on next save().
        :return:

def add_property(self, c_property_tuple, sync=True):
        """
        add property to this container. if this container has no id then it's like sync=False.
        :param c_property_tuple: property tuple defined like this :
               => property name = c_property_tuple[0]
               => property value = c_property_tuple[1]
        :param sync: If sync=True(default) synchronize with Ariane server. If sync=False,
        add the property tuple object on list to be added on next save().
        :return:
        """
        LOGGER.debug("Container.add_property")
        if c_property_tuple[1] is None:
            LOGGER.debug("Property " + c_property_tuple[0] + " has None value. Ignore.")
            return

        if not sync or self.id is None:
            self.properties_2_add.append(c_property_tuple)
        else:
            property_param = DriverTools.property_params(c_property_tuple[0], c_property_tuple[1])
            params = SessionService.complete_transactional_req({'ID': self.id})
            if MappingService.driver_type != DriverFactory.DRIVER_REST:
                params['OPERATION'] = 'addContainerProperty'
                params['propertyField'] = json.dumps(property_param)
                args = {'properties': params}
            else:
                params['propertyName'] = property_param['propertyName']
                params['propertyValue'] = property_param['propertyValue']
                if 'propertyType' in property_param:
                    params['propertyType'] = property_param['propertyType']
                args = {'http_operation': 'GET', 'operation_path': 'update/properties/add', 'parameters': params}

            response = ContainerService.requester.call(args)

            if MappingService.driver_type != DriverFactory.DRIVER_REST:
                response = response.get()

            if response.rc != 0:
                LOGGER.warning(
                    'Container.add_property - Problem while updating container ' + self.name +
                    '.Reason: ' + str(response.response_content) + ' - ' + str(response.error_message) +
                    " (" + str(response.rc) + ")"
                )
                if response.rc == 500 and ArianeMappingOverloadError.ERROR_MSG in response.error_message:
                    raise ArianeMappingOverloadError("Container.add_property", ArianeMappingOverloadError.ERROR_MSG)
                # traceback.print_stack()
            else:
                self.sync()