Serializable value = ((GenericValue)metaValue).getValue();
return getValue(metaType, type, value);
}
else if (metaType.isArray())
{
ArrayValue arrayValue = (ArrayValue)metaValue;
if (type == null)
type = getTypeInfo(metaType, arrayValue.getValue());
Object array = newArrayInstance(type, arrayValue.getLength());
for (int i = 0; i < Array.getLength(array); i++)
{
Object element = arrayValue.getValue(i);
if (element instanceof MetaValue)
element = unwrapMetaValue((MetaValue)element, type, array);
else if (element != null && element.getClass().isArray())
element = unwrapArray(array, element);