Carga dinámica de una clase en Java con un nombre de paquete diferente

¿Es posible cargar una clase en Java y 'falsificar' el nombre del paquete / nombre canónico de una clase? Traté de hacer esto, de la manera obvia, pero recibo un mensaje "el nombre de la clase no coincide" en unClassDefNotFoundException.

La razón por la que hago esto es porque estoy tratando de cargar una API que se escribió en el paquete predeterminado para poder usarla directamente sin usar la reflexión. El código se compilará contra la clase en una estructura de carpetas que representa el paquete y la importación de un nombre de paquete. es decir:

./com/DefaultPackageClass.class
// ...
import com.DefaultPackageClass;
import java.util.Vector;
// ...

Mi código actual es el siguiente:

public Class loadClass(String name) throws ClassNotFoundException {
    if(!CLASS_NAME.equals(name))
            return super.loadClass(name);

    try {
        URL myUrl = new URL(fileUrl);
        URLConnection connection = myUrl.openConnection();
        InputStream input = connection.getInputStream();
        ByteArrayOutputStream buffer = new ByteArrayOutputStream();
        int data = input.read();

        while(data != -1){
            buffer.write(data);
            data = input.read();
        }

        input.close();

        byte[] classData = buffer.toByteArray();

        return defineClass(CLASS_NAME,
                classData, 0, classData.length);

    } catch (MalformedURLException e) {
        throw new UndeclaredThrowableException(e);
    } catch (IOException e) {
        throw new UndeclaredThrowableException(e); 
    }

}