System.out.println("WOHelperFunctionHTMLTemplateParser.parserHelperAssociation: " + ognlKeyPath);
  protected WOAssociation parserHelperAssociation(WOAssociation originalAssociation) {    WOAssociation association = originalAssociation;    String originalKeyPath = null;    if (association instanceof WOKeyValueAssociation) {      WOKeyValueAssociation kvAssociation = (WOKeyValueAssociation) association;      originalKeyPath = kvAssociation.keyPath();    }    //    else if (association instanceof WOConstantValueAssociation) {    //      WOConstantValueAssociation constantAssociation = (WOConstantValueAssociation) association;    //      Object constantValue = constantAssociation.valueInComponent(null);    //      if (constantValue instanceof String) {    //        originalKeyPath = (String) constantValue;    //      }    //    }    if (originalKeyPath != null) {      int pipeIndex = originalKeyPath.indexOf('|');      if (pipeIndex != -1) {        String targetKeyPath = originalKeyPath.substring(0, pipeIndex).trim();        String frameworkName = WOHelperFunctionRegistry.APP_FRAMEWORK_NAME;        String helperFunctionName = originalKeyPath.substring(pipeIndex + 1).trim();        String otherParams = null;        int openParenIndex = helperFunctionName.indexOf('(');        if (openParenIndex != -1) {          int closeParenIndex = helperFunctionName.indexOf(')', openParenIndex + 1);          otherParams = helperFunctionName.substring(openParenIndex + 1, closeParenIndex);          helperFunctionName = helperFunctionName.substring(0, openParenIndex);        }        int helperFunctionDotIndex = helperFunctionName.indexOf('.');        if (helperFunctionDotIndex != -1) {          frameworkName = helperFunctionName.substring(0, helperFunctionDotIndex);          helperFunctionName = helperFunctionName.substring(helperFunctionDotIndex + 1);        }        StringBuffer ognlKeyPath = new StringBuffer();        ognlKeyPath.append("~");        ognlKeyPath.append("@" + WOHelperFunctionRegistry.class.getName() + "@registry()._helperInstanceForFrameworkNamed(");        ognlKeyPath.append(targetKeyPath);        ognlKeyPath.append(", \"");        ognlKeyPath.append(frameworkName);        ognlKeyPath.append("\").");        ognlKeyPath.append(helperFunctionName);        ognlKeyPath.append("(");        ognlKeyPath.append(targetKeyPath);        if (otherParams != null) {          ognlKeyPath.append(",");          ognlKeyPath.append(otherParams);        }        ognlKeyPath.append(")");        System.out.println("WOHelperFunctionHTMLTemplateParser.parserHelperAssociation: " + ognlKeyPath);        if (log.isDebugEnabled()) {        	log.debug("Converted " + originalKeyPath + " into " + ognlKeyPath);        }        association = new WOConstantValueAssociation(ognlKeyPath.toString());      }    }    return association;  }