Class<? extends T> keyBindingClass = key.getType();
Object result;
if (TyperefInfo.class.isAssignableFrom(key.getType()))
{
TyperefDataSchema schema = (TyperefDataSchema)key.getSchema();
DataSchema.Type dereferencedType = schema.getDereferencedType();
if (!schema.getDereferencedDataSchema().isPrimitive())
{
throw new IllegalArgumentException("Compound key type must dereference to a primitive type.");
}
keyBindingClass = (Class<? extends T>)TyperefUtils.getJavaClassForSchema(schema);
if(keyBindingClass == null)