public <T> boolean registerConverter(DataConverter<T> converter) {
   Class<T> clazz = converter.getReturnType();
   if (!converters.containsKey(clazz)) {
     converters.put(clazz, converter);
     return true;
   } else {
     return false;
   }
 }