public async Task <TCompany> GetAsync <TCompany>(ICompanySelector selector) where TCompany : Company, new()
        {
            if (selector == null)
            {
                throw new ArgumentNullException(nameof(selector));
            }

            var properties = _typeManager.GetCustomProperties <TCompany>(TypeManager.AllProperties).Select(p => new Property(p.FieldName)).ToArray();

            try
            {
                var hubspot = await selector.GetCompany(_client, properties).ConfigureAwait(false);

                var company = _typeManager.ConvertTo <TCompany>(hubspot);
                return(company);
            }
            catch (NotFoundException)
            {
                return(null);
            }
        }
 public static Task <Company> GetAsync(this IHubSpotCompanyConnector connector, ICompanySelector selector) => connector.GetAsync <Company>(selector);