Explicitly look for the default contructors when needed instead of relying on the declaration order.
diff --git a/src/main/java/org/apache/sling/uca/impl/HttpClient4TimeoutTransformer.java b/src/main/java/org/apache/sling/uca/impl/HttpClient4TimeoutTransformer.java
index 230c1db..d389518 100644
--- a/src/main/java/org/apache/sling/uca/impl/HttpClient4TimeoutTransformer.java
+++ b/src/main/java/org/apache/sling/uca/impl/HttpClient4TimeoutTransformer.java
@@ -56,8 +56,7 @@
ClassPool defaultPool = ClassPool.getDefault();
CtClass cc = defaultPool.get(Descriptor.toJavaName(className));
- // TODO - access the default constructor explicitly in case it changes
- CtConstructor noArgCtor = cc.getConstructors()[0];
+ CtConstructor noArgCtor = cc.getConstructor(Descriptor.ofConstructor(new CtClass[0]));
CtField connectTimeout = cc.getDeclaredField("connectTimeout");
CtField socketTimeout = cc.getDeclaredField("socketTimeout");
noArgCtor.insertAfter("this." + connectTimeout.getName() + " = " + connectTimeoutMillis + ";");
diff --git a/src/main/java/org/apache/sling/uca/impl/OkHttpTimeoutTransformer.java b/src/main/java/org/apache/sling/uca/impl/OkHttpTimeoutTransformer.java
index a93e223..22a660e 100644
--- a/src/main/java/org/apache/sling/uca/impl/OkHttpTimeoutTransformer.java
+++ b/src/main/java/org/apache/sling/uca/impl/OkHttpTimeoutTransformer.java
@@ -54,8 +54,7 @@
ClassPool defaultPool = ClassPool.getDefault();
CtClass cc = defaultPool.get(Descriptor.toJavaName(className));
- // TODO - access the default constructor explicitly in case it changes
- CtConstructor noArgCtor = cc.getConstructors()[0];
+ CtConstructor noArgCtor = cc.getConstructor(Descriptor.ofConstructor(new CtClass[0]));
CtField connectTimeout = cc.getDeclaredField("connectTimeout");
CtField readTimeout = cc.getDeclaredField("readTimeout");
noArgCtor.insertAfter("this." + connectTimeout.getName() + " = " + connectTimeoutMillis + ";");