Nested ScriptableObject assets?

I’m having a hard time with nested ScriptableObjects. I’ve tried everything I can think of, but I can’t seem to add a ScriptableObject asset to another one. Here’s one of the many things I’ve tried:

private ChildClass AddNewChild (Object database) {

		ChildClass newChild = CreateInstance<ChildClass> (); //Derives from ScriptableObject
		newChild.hideFlags = HideFlags.HideInHierarchy;

		AssetDatabase.CreateAsset (newChild, AssetDatabase.GenerateUniqueAssetPath ("Assets/New Child.asset"));
		AssetDatabase.AddObjectToAsset (newChild, database);  //Database is also a ScriptableObject asset.
		AssetDatabase.SaveAssets ();
		AssetDatabase.Refresh ();

		return newChild;
	}

No matter what I do or how I call or arrange these lines, it always throws an error at the AddObjectToAsset function.
"Couldn’t add object to asset file because the MonoBehaviour ‘New Child’ is already an asset at ‘Assets/New Child.asset’!

I could have sworn I was able to nest ScriptableObjects before… What am I doing wrong?

You should remove line 6, objects are supposed to be added to assets without making assets from them in the first place.

You also need to set the name of newChild to something different before adding it. Otherwise things will get very weird.