synchronize self from Ariane server according its id
        :return:

def sync(self, json_obj=None):
        """
        synchronize self from Ariane server according its id
        :return:
        """
        LOGGER.debug("Container.sync")
        if json_obj is None:
            params = None
            if self.id is not None:
                params = SessionService.complete_transactional_req({'ID': self.id})

            if params is not None:
                if MappingService.driver_type != DriverFactory.DRIVER_REST:
                    params['OPERATION'] = 'getContainer'
                    args = {'properties': params}
                else:
                    args = {'http_operation': 'GET', 'operation_path': 'get', 'parameters': params}

                response = ContainerService.requester.call(args)

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

                if response.rc == 0:
                    json_obj = response.response_content
                else:
                    err_msg = 'Container.sync - Problem while syncing container (id: ' + str(self.id) + '). ' \
                              'Reason: ' + str(response.response_content) + ' - ' + str(response.error_message) + \
                              " (" + str(response.rc) + ")"
                    LOGGER.warning(err_msg)
                    if response.rc == 500 and ArianeMappingOverloadError.ERROR_MSG in response.error_message:
                        raise ArianeMappingOverloadError("Container.sync", ArianeMappingOverloadError.ERROR_MSG)
                    # traceback.print_stack()
        elif 'containerID' not in json_obj:
            err_msg = 'Container.sync - Problem while syncing container (id: ' + str(self.id) + '). ' \
                      'Reason: inconsistent json_obj' + str(json_obj) + " from : \n"
            LOGGER.warning(err_msg)
            # traceback.print_stack()

        if json_obj is not None:
            self.id = json_obj['containerID']
            self.name = json_obj['containerName']
            self.gate_uri = json_obj['containerGateURI']
            self.primary_admin_gate_id = json_obj['containerPrimaryAdminGateID']
            self.cluster_id = json_obj['containerClusterID'] if 'containerClusterID' in json_obj else None
            self.parent_container_id = json_obj['containerParentContainerID'] if 'containerParentContainerID' \
                                                                                 in json_obj else None
            self.child_containers_id = json_obj['containerChildContainersID']
            self.gates_id = json_obj['containerGatesID']
            self.nodes_id = json_obj['containerNodesID']
            self.company = json_obj['containerCompany']
            self.product = json_obj['containerProduct']
            self.type = json_obj['containerType']
            if MappingService.driver_type != DriverFactory.DRIVER_REST:
                if 'containerProperties' in json_obj:
                    self.properties = DriverTools.json2properties(json_obj['containerProperties'])
                else:
                    self.properties = None
            else:
                self.properties = json_obj['containerProperties'] if 'containerProperties' in json_obj else None