Object newArray = Array.newInstance(javaClass(), oldLength + addLength);
JavaArray javaArray = new JavaArray(getRuntime(), newArray);
System.arraycopy(original.getValue(), 0, newArray, 0, oldLength);
RubyClass proxyClass = (RubyClass)Java.get_proxy_class(javaArray, array_class());
ArrayJavaProxy proxy = new ArrayJavaProxy(context.getRuntime(), proxyClass);
proxy.dataWrapStruct(javaArray);
Ruby runtime = context.getRuntime();
for (int i = 0; i < addLength; i++) {
RuntimeHelpers.invoke(context, proxy, "[]=", runtime.newFixnum(oldLength + i),
RuntimeHelpers.invoke(context, additional, "[]", runtime.newFixnum(i)));