getUnitsListToChoosePrincipalFunction(subUnit, buffer);
if (!subUnit.equals(this.getUnit())) { getUnitsListToChoosePrincipalFunction(subUnit, buffer); }
    private void getUnitsListToChoosePrincipalFunction(Unit parentUnit, StringBuilder buffer)            throws FenixFilterException, FenixServiceException {        openLITag(buffer);        if (parentUnit.hasAnySubUnits()) {            putImage(parentUnit, buffer);        }                buffer.append("<a href=\"").append(getContextPath()).append(                "/manager/organizationalStructureManagament/").append("chooseFunction.faces?").append(                "unitID=").append(this.getUnit().getIdInternal()).append("&chooseUnitID=").append(                parentUnit.getIdInternal()).append("&functionID=").append(                this.getFunction().getIdInternal()).append("\">").append(parentUnit.getName()).append(                "</a>").append("</li>");        if (parentUnit.hasAnySubUnits()) {            openULTag(parentUnit, buffer);        }                for (Unit subUnit : parentUnit.getSubUnits()) {            getUnitsListToChoosePrincipalFunction(subUnit, buffer);        }        if (parentUnit.hasAnySubUnits()) {            closeULTag(buffer);        }    }