pタグを回避するMultiLineLabel

Wicket複数行のテキストを出力するコンポーネント
org.apache.wicket.markup.html.basic.MultiLineLabel
これは、1行でなく2行以上になるテキストを渡すと <p> で囲まれてしまう。
これを回避するのはビヘビアで行うのはあちこち書くとコード量増えるので、
MultiLineLabel を継承したクラスで対処したものを使用する方が楽に思えた。

import org.apache.wicket.markup.ComponentTag;
import org.apache.wicket.markup.MarkupStream;
import org.apache.wicket.markup.html.basic.MultiLineLabel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.util.string.AppendingStringBuffer;
/**
 * <p>タグで囲まない MultiLineLabel
 */

public class NoPtagMultiLineLabel extends MultiLineLabel{
   public NonPtagMultiLineLabel(String id){
      super(id);
   }
   public NoPtagMultiLineLabel(String id,String label){
      super(id,label);
   }
   public NoPtagMultiLineLabel(String id,IModel<?> model){
      super(id,model);
   }
   @Override
   protected void onComponentTagBody(final MarkupStream markupStream,final ComponentTag openTag){
      final CharSequence body = this.toMultilineMarkup(getDefaultModelObjectAsString());
      replaceComponentTagBody(markupStream,openTag,body);
   }
   private CharSequence toMultilineMarkup(final CharSequence s){
      if (s==null) return null;
      final AppendingStringBuffer buffer = new AppendingStringBuffer();
      for(int i=0;i < s.length();i++){
         final char c = s.charAt(i);
         switch(c){
            case '\n':
               buffer.append("<br/>");
               break;
            case '\r':
               break;
            default:
               buffer.append(c);
               break;
         }
      }
      return buffer;
   }

}