public void recursiveGetCategory(List<String> list, SecuredTaskBean pro) throws GranException {
        SecuredUDFValueBean contentFAQ = pro.getUDFValues().get(PRODUCT_CATEGORY_UDFID);
        if (contentFAQ != null) {
            Object cFaq = contentFAQ.getValue();
            if (cFaq != null) {
                String v = cFaq.toString();
                for (String s: v.split("[\r\n]")){
                    if (!list.contains(s)) list.add(s);
                }
            }
         else if (pro.getParentId()!=null){
            SecuredTaskBean npro = pro.getParent();
            if (npro.getCategoryId().equals(PRODUCT_CATEGORY_ID)) recursiveGetCategory(list, npro);
        }
        }
    }