How to avoid two files in project view when creating a custom importer?

NOTE: I’m casting my net as far as possible and have asked the same question on Stack Overflow here.

I’ve created a ProTools CueSheet importer. It uses OnPostprocessAllAssets() to detect a files in the project that have a .cuesheet extension. It then runs those cuesheet files through my parser. This generates a ScriptableObject which is then turned into an asset via Database.CreateAsset().

The problem is, this leaves me with two files, the original cuesheet and the newly generated asset. Is there any way I can generate the asset in such as way that the original cuesheet acts as the asset, the same way textures or FBX files do?

public class CueSheetPostProcessor : AssetPostprocessor {
	static string extension = ".cuesheet";

	static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths) {
		foreach (string assetPath in importedAssets) {
			if (assetPath.EndsWith(extension, StringComparison.OrdinalIgnoreCase)) {
				string newPath = assetPath + ".asset";
				Session session = CueImporter.Load(assetPath);
				AssetDatabase.CreateAsset(session, newPath);
				AssetDatabase.SaveAssets();
			}
		}
	}
}

You should do the same what Unity’s importer do: Add the derived assets as subassets to the original asset. That means you shouldn’t use CreateAsset but AssetDatabase.AddObjectToAsset. That way your scriptable object will be a sub asset of your CueSheet.