code: public CellFormatResult format(final ObjectCell<?> cell, final Locale locale) {
          
          if(cell == null) {
              final CellFormatResult result = new CellFormatResult();
              result.setCellType(FormatCellType.Blank);
              result.setText("");
              return result;
          }
          
          final Locale runtimeLocale = locale != null ? locale : Locale.getDefault();
          
          final short formatIndex = cell.getFormatIndex();
          final String formatPattern = cell.getFormatPattern();
          
          if(formatterResolver.canResolve(formatIndex)) {
              final CellFormatter cellFormatter = formatterResolver.getFormatter(formatIndex);
              return cellFormatter.format(cell, runtimeLocale);
              
          } else if(formatterResolver.canResolve(formatPattern)) {
              final CellFormatter cellFormatter = formatterResolver.getFormatter(formatPattern);
              return cellFormatter.format(cell, runtimeLocale);
              
          } else {
              // キャッシュに存在しない場合
              final CellFormatter cellFormatter = formatterResolver.createFormatter(formatPattern) ;
              if(isCache()) {
                  formatterResolver.registerFormatter(formatPattern, cellFormatter);
              }
              return cellFormatter.format(cell, runtimeLocale);
              
          }
      }
docs: 値をフォーマットする。
  @param cell Javaの仮想的なオブジェクトを表現するセル。
  @param locale フォーマットしたロケール。nullでも可能。
  ロケールに依存する場合、指定したロケールにより自動的に切り替わります。
  @return フォーマット結果。cellがnullの場合、空セルとして値を返す。