code: @SuppressWarnings("unchecked")
      @Override
      public <T> T convertTo(final Class<T> targetType, final String data, final String... optionalFormatPattern) {
          Conversion<?> conversion = CONVERSIONS.get(targetType);
          assert conversion != null : "Method caller must check existence of conversion. (" + targetType.getName() + ")";
          if (data == null) {
              return (T) conversion.getDefaultValue(data);
          }
  
          if ((optionalFormatPattern != null) && (optionalFormatPattern.length > 0) && (optionalFormatPattern[0] != null)) {
              return (T) conversion.convertWithPattern(data, optionalFormatPattern[0]);
          }
          return (T) conversion.convert(data);
      }
docs: {@inheritDoc}