System.arraycopy(array, 0, newArray, 0, index);
System.arraycopy(array, index+1, newArray, index, Array.getLength(newArray) - index);
myArraySetter.invoke(myTarget, new Object[]{newArray});
} else {
if (isFixedCardinality()) {
throw new StructuralException("This property has fixed cardinality");
} else {
throw new RuntimeException("The property is not marked as having fixed cardinality " +
"but there are no methods for removing a value -- this appears to be a bug");
}
}