ModuleMarshal marshal(Class<?> sourceType,Class<?> targetType,Class<?> declaredTargetType){
  ImportKey key=new ImportKey(sourceType,targetType);
  ModuleMarshal marshal=_marshalMap.get(key);
  if (marshal != null) {
    return marshal;
  }
  marshal=marshalImpl(sourceType,targetType,declaredTargetType);
  _marshalMap.putIfAbsent(key,marshal);
  return marshal;
}

ModuleMarshal marshal ( Class < ? > sourceType , Class < ? > targetType , Class < ? > declaredTargetType ) { ImportKey key = new ImportKey ( sourceType , targetType ) ; ModuleMarshal marshal = _marshalMap . get ( key ) ; if ( marshal != null ) { return marshal ; } marshal = marshalImpl ( sourceType , targetType , declaredTargetType ) ; _marshalMap . putIfAbsent ( key , marshal ) ; return marshal ; }
returns the marshal to convert from the sourcetype to the targettype .
