private void CreateAssetData(StringBuilder sb, string abname, string[] paths)
        {
            bool isFirst = true;

            sb.Append("{");
            AssetsReporterUtils.AddJsonObject(sb, "abname", abname).Append(",");
            this.ClearDependsAssetBundle();
            sb.Append("files:[");
            foreach (var path in paths)
            {
                if (isFirst)
                {
                    isFirst = false;
                }
                else
                {
                    sb.Append(",");
                }
                sb.Append("{");
                AssetsReporterUtils.AddJsonObject(sb, "path", path).Append(",");

                var depends = AssetDatabase.GetDependencies(new string[] { path });
                System.Array.Sort(depends);
                this.AddDependsAssetBundle(depends);
                AssetsReporterUtils.AddJsonObjectArrayWithout(sb, "depends", depends, path);
                System.Array.Sort <string>(depends);

                UnityEngine.Object obj = AssetDatabase.LoadAssetAtPath <UnityEngine.Object>(path);
                if (obj != null)
                {
                    sb.Append(",");
                    AssetsReporterUtils.AddJsonObject(sb, "type", obj.GetType().Name);
                    if (obj.GetType() != typeof(GameObject))
                    {
                        Resources.UnloadAsset(obj);
                    }
                    // thumnail
                    {
                        if (obj.GetType() == typeof(Texture2D) && !AssetsReporterUtils.IsVisibleInWebBrowserImage(path))
                        {
                            sb.Append(",");
                            string preview = AssetsReporterUtils.GetWebVisibleTexturePreview(TextureImporter.GetAtPath(path) as TextureImporter, obj as Texture2D, this.createThumnailPreview);
                            AssetsReporterUtils.AddJsonObject(sb, "preview", preview);
                        }
                        else if (obj.GetType() == typeof(GameObject))
                        {
                            sb.Append(",");
                            var    assetImporter = AssetImporter.GetAtPath(path);
                            string preview       = AssetsReporterUtils.GetAssetPreview(assetImporter, obj, this.createThumnailPreview || ((assetImporter as ModelImporter) == null));
                            AssetsReporterUtils.AddJsonObject(sb, "preview", preview);
                        }
                    }

                    obj = null;
                }
                sb.Append("}");
            }
            sb.Append("],\n");
            this.RemoveDependsAssetBundle(paths);
            this.ReportDependsAssetBundle(sb);
            sb.Append("}\n");
        }