docs: 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()