@staticmethod
def _add_property(obj, key, stix_value, group=False):
    """
        Add stix_value to dictionary based on the input key, the key can be '.'-separated path to inner object

        :param obj: the dictionary we are adding our key to
        :param key: the key to add
        :param stix_value: the STIX value translated from the input object
        """
    split_key = key.split('.')
    child_obj = obj
    parent_props = split_key[0:-1]
    for prop in parent_props:
        if prop not in child_obj:
            child_obj[prop] = {}
        child_obj = child_obj[prop]
    if split_key[-1] not in child_obj.keys():
        child_obj[split_key[-1]] = stix_value
    elif group is True:
        if isinstance(child_obj[split_key[-1]], list):
            child_obj[split_key[-1]].extend(stix_value)
