logback-android/src/main/java/ch/qos/logback/core/pattern/parser/Compiler.java
@SuppressWarnings("unchecked")
  CompositeConverter<E> createCompositeConverter(CompositeNode cn) {
    String keyword = (String) cn.getValue();
    String converterClassStr = (String) converterMap.get(keyword);

    if (converterClassStr != null) {
      try {
        return (CompositeConverter<E>) OptionHelper.instantiateByClassName(
                converterClassStr, CompositeConverter.class, context);
      } catch (Exception e) {
        addError("Failed to instantiate converter class [" + converterClassStr
                + "] as a composite converter for keyword ["+keyword+"]", e);
        return null;
      }
    } else {
      addError("There is no conversion class registered for composite conversion word ["
              + keyword + "]");
      return null;
    }
  }
@SuppressWarnings("unchecked")
  CompositeConverter<E> createCompositeConverter(CompositeNode cn) {
    String keyword = (String) cn.getValue();
    String converterClassStr = (String) converterMap.get(keyword);

    if (converterClassStr != null) {
      try {
        return (CompositeConverter<E>) OptionHelper.instantiateByClassName(
                converterClassStr, CompositeConverter.class, context);
      } catch (Exception e) {
        addError("Failed to instantiate converter class [" + converterClassStr
                + "] as a composite converter for keyword ["+keyword+"]", e);
        return null;
      }
    } else {
      addError("There is no conversion class registered for composite conversion word ["
              + keyword + "]");
      return null;
    }
  }
@ SuppressWarnings ( "unchecked" ) CompositeConverter < E > createCompositeConverter ( CompositeNode cn ) { String keyword = ( String ) cn . getValue ( ) ; String converterClassStr = ( String ) converterMap . get ( keyword ) ; if ( converterClassStr != null ) { try { return ( CompositeConverter < E > ) OptionHelper . instantiateByClassName ( converterClassStr , CompositeConverter . class , context ) ; } catch ( Exception e ) { addError ( "Failed to instantiate converter class [" + converterClassStr + "] as a composite converter for keyword [" + keyword + "]" , e ) ; return null ; } } else { addError ( "There is no conversion class registered for composite conversion word [" + keyword + "]" ) ; return null ; } }
Attempt to create a converter using the information found in
'compositeConverterMap'.

@param cn
@return
Attempt to create a converter using the information found in compositeConverterMap .