code: @Override
      @SuppressWarnings("rawtypes")
      public Map<String, Object> toMap(StreamMessage message) throws ConvertFailException
      {
          Map<String, Object> result = new LinkedHashMap<String, Object>();
  
          // Messageヘッダのうち、DBに格納する値を取得する
          result.put("messageId", message.getHeader().getMessageId());
          result.put("timestamp", new Timestamp(message.getHeader().getTimestamp()));
  
          result.put("source", message.getHeader().getSource());
  
          List<String> bodyStrList = new ArrayList<String>();
          // BodyがIterableの場合はStringリスト形式としてDB格納値を取得
          // Iterableでない場合はtoStringの結果をそのまま詰める。
          if (message.getBody() instanceof Iterable)
          {
              Iterator list = ((Iterable) message.getBody()).iterator();
              while (list.hasNext())
              {
                  bodyStrList.add(list.next().toString());
              }
          }
          else
          {
              bodyStrList.add(message.getBody().toString());
          }
  
          result.put("body", bodyStrList);
  
          return result;
      }
docs: メッセージをKey-ValueのMapに変換する。<br>
  
  @param message メッセージ
  @return 変換したKey-ValueのMap
  @throws ConvertFailException 変換失敗時