static void FillMissingTransformCurves(List <EditorCurveBinding> bindings)
        {
            if (!AnimationWindowUtility.IsActualTransformCurve(bindings[0]) || bindings.Count >= 3)
            {
                return;
            }

            var binding            = bindings[0];
            var prefixPropertyName = binding.propertyName.Split('.').First();

            binding.isPhantom = true;
            if (!bindings.Any(p => p.propertyName.EndsWith(".x")))
            {
                binding.propertyName = prefixPropertyName + ".x";
                bindings.Insert(0, binding);
            }

            if (!bindings.Any(p => p.propertyName.EndsWith(".y")))
            {
                binding.propertyName = prefixPropertyName + ".y";
                bindings.Insert(1, binding);
            }

            if (!bindings.Any(p => p.propertyName.EndsWith(".z")))
            {
                binding.propertyName = prefixPropertyName + ".z";
                bindings.Insert(2, binding);
            }
        }