JavaFX のリフレクション

JavaFX のリフレクションを勉強中です。

プログラム例その1

import javafx.reflect.*;

function run(args: String[]) {
    var context = FXLocal.getContext();
    var integerValue = new FXIntegerValue(100, context.getIntegerType());
    var integer = (integerValue as FXLocal.Value).asObject();
    println(integer);
    println(integer.getClass());
}
プログラム例その1の結果
100
class java.lang.Integer

プログラム例その2

import javafx.reflect.*;

function run(args: String[]) {
    var context = FXLocal.getContext();
    var builder = context.makeSequenceBuilder(context.getIntegerType());
    builder.append(new FXIntegerValue(100, context.getIntegerType()));
    builder.append(new FXIntegerValue(200, context.getIntegerType()));
    var seqValue = builder.getSequence();
    var arraySeq = (seqValue as FXLocal.Value).asObject();
    println(arraySeq);
    println(arraySeq.getClass());

    var objArray = arraySeq as Object[];
    insert 300 into objArray;
    println(objArray);
    println(objArray.getClass());
}
プログラム例その2の結果
[ 100, 200 ]
class com.sun.javafx.runtime.sequence.ArraySequence
[ 100, 200, 300 ]
class com.sun.javafx.runtime.sequence.ArraySequence

com.sun.javafx.runtime.sequence.ArraySequence のインスタンスである arraySeq を Object[] にキャストしているのが何だか違和感を感じます。