public IEnumerable <PropertyDescriptor> GetPropertyDescriptors(IProjectItem projectItem)
        {
            var project = (IProject)projectItem;

            yield return(new ReSharperPropertyDescriptor <string, IProject>(myLifetime, myLocks,
                                                                            name: "UnityVersion",
                                                                            defaultValue: "Unspecified",
                                                                            displayName: "Unity Version",
                                                                            description: "The version of Unity being targeted by the project. Used by ReSharper to validate APIs.",
                                                                            projectItem: project,
                                                                            getValueAction: p =>
            {
                var s = myUnityVersion.GetActualVersion(project).ToString(2);
                var n = myUnityApi.GetNormalisedActualVersion(project).ToString(2);
                if (s == n)
                {
                    return s;
                }
                return $"{s} (using API info for {n})";
            },
                                                                            setValueAction: (p, value) => { }));
        }