code: protected void renderTextAreaValue(FacesContext facesContext, UIComponent uiComponent) throws IOException
      {
          ResponseWriter writer = facesContext.getResponseWriter();
          
          Object addNewLineAtStart = uiComponent.getAttributes().get(ADD_NEW_LINE_AT_START_ATTR);
          if (addNewLineAtStart != null)
          {
              boolean addNewLineAtStartBoolean = false;
              if (addNewLineAtStart instanceof String)
              {
                  addNewLineAtStartBoolean = Boolean.valueOf((String)addNewLineAtStart);
              }
              else if (addNewLineAtStart instanceof Boolean)
              {
                  addNewLineAtStartBoolean = (Boolean) addNewLineAtStart;
              }
              if (addNewLineAtStartBoolean)
              {
                  writer.writeText("\n", null);
              }
          }
          
          String strValue = org.apache.myfaces.shared.renderkit.RendererUtils.getStringValue(facesContext, uiComponent);
          if (strValue != null)
          {
              writer.writeText(strValue, org.apache.myfaces.shared.renderkit.JSFAttr.VALUE_ATTR);
          }
      }
docs: Subclasses can override the writing of the "text" value of the textarea