anchor.diff:  ----
   @Converter
   public static String toString(byte[] data, Exchange exchange) {
  -    if (exchange != null) {
  -        String charsetName = exchange.getProperty(Exchange.CHARSET_NAME, String.class);
  -        if (charsetName != null) {
  -            try {
  -                return new String(data, charsetName);
  -            } catch (UnsupportedEncodingException e) {
  -                LOG.warn("Can't convert the byte to String with the charset " + charsetName, e);
  -            }
  +    String charsetName = exchange.getProperty(Exchange.CHARSET_NAME, String.class);
  +    if (charsetName != null) {
  +        try {
  +            return new String(data, charsetName);
  +        } catch (UnsupportedEncodingException e) {
  +            // ignore
           }
  -    }
  -    return new String(data);
  -}
  -----
  +        return new String(data);
  +    }
  +}
  +----
  
positive.code: [[TypeConverter-WritingyourownTypeConverters]]
  ==== Writing your own Type Converters
  
  [NOTE]
  ====
  *Use FQN*
  
  In Camel 2.8 the TypeConverter file now supports specifying the FQN
  class name. This is recommended to be used. See below for more details.
  Using FQN must be used. The older way with just package name is
  deprecated and should not be used, and it may also not work in some
  application servers due to classpath scanning issues.
  ====
   
  
  You are welcome to write your own converters. Remember to use the
  `@Converter` annotations on the classes and methods you wish to use. Then
  add the packages to a file called
  `META-INF/services/org/apache/camel/TypeConverter` in your jar. Remember
  to make sure that :
  
  * static methods are encouraged to reduce caching, but instance methods
  are fine, particularly if you want to allow optional dependency
  injection to customize the converter
  * converter methods should be thread safe and reentrant
  
  [[TypeConverter-ExamplesofTypeConverterfile]]
  ===== Examples of TypeConverter file
  
  The file in the JAR: `META-INF/services/org/apache/camel/TypeConverter`
  contains the following line(s):
  
  ----
  com.foo com.bar
  ----
  
  Each line in the file is a package name. This tells Camel to go scan
  those packages for any classes that has been annotated with the
  `@Converter`.
  
  [[TypeConverter-ImprovedTypeConverterbyusingFQNclassnames]]
  ===== Improved TypeConverter by using FQN class names
  
  *Available as of Camel 2.8*
  
  In Camel 2.8 we improved the type converter loader to support specifying
  the FQN class name of the converter classes. This has the advantage of
  avoiding having to scan packages for `@Converter` classes. Instead it
  loads the `@Converter` class directly. This is a *highly* recommend
  approach to use going forward.
  
  [[TypeConverter-ExamplesofTypeConverterfile.1]]
  ===== Examples of TypeConverter file
  
  The file in the JAR: `META-INF/services/org/apache/camel/TypeConverter`
  contains the following line(s) for FQN class names:
  
  ----
  com.foo.MyConverter
  com.bar.MyOtherConverter
  com.bar.YetOtherConverter
  ----
  
  As you can see each line in the file now contains a FQN class name. This
  is the recommended approach.
  
  [[TypeConverter-Encodingsupportforbyte[]andStringConversion]]
  ==== Encoding support for byte[] and String Conversion
  
  *Available in Camel 1.5*
  
  Since Java provides converting the `byte[]` to `String` and `String` to `byte[]`
  with the
  http://java.sun.com/j2se/1.5.0/docs/api/java/nio/charset/Charset.html[charset
  name] parameter. You can define the charset name by setting the exchange
  property name `Exchange.CHARSET_NAME` with the charset name, such as
  `"UTF-8"` or `"iso-8859-1"`.
  
  [[TypeConverter-Exchangeparameter]]
  ==== Exchange parameter
  
  *Available in Camel 1.5*
  
  The type converter accepts the `Exchange` as an optional 2nd parameter.
  This is usable if the type converter for instance needs information from
  
negative.code: }
  ----
  
  ===== Discovering Type Converters in the fast way
  
  To enable the fast type converter way, you should enable `loader = true`
  on the class level annotation as shown:
  
  [source,java]
  ----
  @Converter(loader = true)
  public class IOConverter {
      @Converter
      public static InputStream toInputStream(File file) throws FileNotFoundException {
          return new BufferedInputStream(new FileInputStream(file));
      }
  }
  ----
  
  And then you should have the `camel-apt` JAR as dependency when compiling the project.
  When using Maven you add:
  
  [source,xml]
  ----
  <dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>apt</artifactId>
    <scope>provided</scope>
  </dependency>
  ----
  
  [[TypeConverter-Returningnullvalues]]
  ===== Returning null values
  