public static object GetObject(this Phx.IProtoDataObjectDatabaseProvider provider
                                       , int objectKind, int id)
        {
            Contract.Requires(provider != null);
            Contract.Requires <ArgumentOutOfRangeException>(objectKind != PhxUtil.kObjectKindNone);

            var dbi = provider.GetNamesInterface(objectKind);

            return(dbi.GetObject(id));
        }
        public static string GetName(this Phx.IProtoDataObjectDatabaseProvider provider
                                     , int objectKind, int id)
        {
            Contract.Requires(provider != null);
            Contract.Requires <ArgumentOutOfRangeException>(objectKind != PhxUtil.kObjectKindNone);

            var dbi = provider.GetMembersInterface(objectKind);

            return(dbi.TryGetNameWithUndefined(id));
        }