@SuppressWarnings("deprecation")
protected Object unwrapTable(TableValue tableValue, TypeInfo type)
{
if (type instanceof ParameterizedClassInfo)
{
ParameterizedClassInfo parameterizedType = (ParameterizedClassInfo)type;
ClassInfo rawType = parameterizedType.getRawType();
if (Map.class.isAssignableFrom(rawType.getType()))
{
TypeInfo keyType = parameterizedType.getActualTypeArguments()[0];
TypeInfo valueType = parameterizedType.getActualTypeArguments()[1];
return createMap(tableValue, keyType, valueType);
}
}
throw new UnsupportedOperationException("Insufficient information to unwrap table: " + tableValue + ", " + type);
}