private static AkWwiseProjectData.WorkUnit ReplaceWwuEntry(string in_currentPhysicalPath, AssetType in_type, out int out_wwuIndex)
    {
        var list = AkWwiseProjectInfo.GetData().GetWwuListByString(in_type.RootDirectoryName);

        out_wwuIndex = list.BinarySearch(new AkWwiseProjectData.WorkUnit {
            PhysicalPath = in_currentPhysicalPath
        });
        AkWwiseProjectData.WorkUnit out_wwu = null;

        switch (in_type.Type)
        {
        case WwiseObjectType.Event:
            out_wwu = new AkWwiseProjectData.EventWorkUnit();
            break;

        case WwiseObjectType.StateGroup:
        case WwiseObjectType.SwitchGroup:
            out_wwu = new AkWwiseProjectData.GroupValWorkUnit();
            break;

        case WwiseObjectType.AuxBus:
        case WwiseObjectType.Soundbank:
        case WwiseObjectType.GameParameter:
        case WwiseObjectType.Trigger:
        case WwiseObjectType.AcousticTexture:
            out_wwu = new AkWwiseProjectData.AkInfoWorkUnit();
            break;
        }

        if (out_wwuIndex < 0)
        {
            out_wwuIndex = ~out_wwuIndex;
            list.Insert(out_wwuIndex, out_wwu);
        }
        else
        {
            list[out_wwuIndex] = out_wwu;
        }

        return(out_wwu);
    }
 private AK.Wwise.TreeView.TreeViewItem AddPathToTreeItem(AK.Wwise.TreeView.TreeViewItem item,
                                                          AkWwiseProjectData.AkInfoWorkUnit AkInfo)
 {
     return(AddPathToTreeItem(item, AkInfo.Guid, AkInfo.PathAndIcons));
 }