class AssignableConverter implements ConditionalConverter<Object, Object> {
  public Object convert(MappingContext<Object, Object> context) {<FILL_FUNCTION_BODY>}

  public MatchResult match(Class<?> sourceType, Class<?> destinationType) {
    return destinationType.isAssignableFrom(sourceType) ? MatchResult.FULL : MatchResult.NONE;
  }
}

    MappingContextImpl<Object, Object> contextImpl = (MappingContextImpl<Object, Object>) context;
    return (!contextImpl.isProvidedDestination() && context.getDestination() != null) ? context.getDestination() : context.getSource();
  
<no_super_class>