public bool IsParentOf(object id)
        {
            if (id is string)
            {
                return(m_contentTypeId.IsParentOf(new SPContentTypeId(id as string)));
            }

            if (id is SPContentTypeIdInstance)
            {
                return(m_contentTypeId.IsParentOf((id as SPContentTypeIdInstance).m_contentTypeId));
            }

            return(false);
        }
        private bool useInfoPathOrAspx(string contentTypeId)
        {
            SPContentType contentType = __ActivationProperties.Web.FindContentType(new SPContentTypeId(contentTypeId));
            if (contentType == null) return false;
            SPContentType listContentType = __ActivationProperties.TaskList.ContentTypes[contentType.Name];
            CustomFormSettings customFormSettings = listContentType.GetCustomSettings<CustomFormSettings>(IOfficeFeatures.Infrastructure);
            SPContentTypeId ctid = new SPContentTypeId(Constants.CCI_WORKFLOW_TASK_CONTENT_TYPE_ID);

            return true;

            if (customFormSettings == null && ctid.IsParentOf(listContentType.Id))
                return true;

            if (customFormSettings == null)
                return false;

            if (customFormSettings.EditItemFormType == CCIFormType.ASPXForm)
                return true;

            if (customFormSettings.EditItemFormType == CCIFormType.InfoPath &&
                !string.IsNullOrEmpty(customFormSettings.EditItemFormXsnLocation) &&
                customFormSettings.EditItemFormXsnLocation.EndsWith(".xsn", StringComparison.CurrentCultureIgnoreCase))
                return true;

            return false;
        }