@SuppressWarnings("unchecked")
    public <T> Class<T> getClass(String key, Class<? extends T> defaultValue,
            ClassLoader classLoader) throws ClassNotFoundException {
        Object o = getRawValue(key);
        if (o == null) {
            return (Class<T>) defaultValue;
        }

        if (o.getClass() == String.class) {
            return (Class<T>) Class.forName((String) o, true, classLoader);
        }

        LOG.warn("Configuration cannot evaluate value " + o + " as a class name");
        return (Class<T>) defaultValue;
    }
Returns the class associated with the given key as a string.

@param <T> The type of the class to return.
@param key The key pointing to the associated value
@param defaultValue The optional default value returned if no entry exists
@param classLoader The class loader used to resolve the class.
@return The value associated with the given key, or the default value, if to entry for the
        key exists.
inlong-sort/sort-common/src/main/java/org/apache/inlong/sort/configuration/Configuration.java