private bool emitCommaWithSpacingAndCRs(WrapOptions options, IToken comma, bool pushedIndent, int firstParmLocation, String contextType)
 {
     if ((options.getWrapType()==WrapOptions.WRAP_BY_COLUMN || options.getWrapType()==WrapOptions.WRAP_BY_COLUMN_ONLY_ADD_CRS) && options.isBeforeSeparator())
     {
         insertMaxColumnCR();
     }
     
     if (!pushedIndent)
     {
         pushedIndent=true;
         pushExpressionIndent();
     }
     
     insertWS(mPrinter.getSpacesBeforeComma());
     emit(comma); 
     if ((options.getWrapType()==WrapOptions.WRAP_BY_COLUMN || options.getWrapType()==WrapOptions.WRAP_BY_COLUMN_ONLY_ADD_CRS) && !options.isBeforeSeparator())
     {
         insertMaxColumnCR();
     }
     if ((options.getWrapType()==WrapOptions.WRAP_BY_COLUMN || options.getWrapType()==WrapOptions.WRAP_BY_COLUMN_ONLY_ADD_CRS))
     {
         mPrinter.saveWrapChar(comma, ASPrettyPrinter.Break_Commas_code, options.isBeforeSeparator(), options.getIndentStyle()==WrapOptions.WRAP_STYLE_INDENT_TO_WRAP_ELEMENT, firstParmLocation, contextType);
     }
     insertWS(mPrinter.getSpacesAfterComma());
     return pushedIndent;
 }