+ if ( fobj->value_table != NULL )
+ {
+ ret = cos_hash_table_get (fobj->value_table, object);
+ if (ret != NULL)
+ return ret;
+ }
+ else
+ fobj->value_table = cos_make_hash_table ();
+
+ {
+ char id_buf[256];
+ CONCORD_String_Tank val_st;
+ size_t end;
+
+ if (COS_OBJECT_CHAR_P (object))
+ {
+ cos_utf8_print_char (object, (unsigned char*)id_buf, 256);
+ }
+ else
+ return NULL;
+
+ if ( concord_obj_get_feature_value_string (id_buf, fobj, &val_st) )
+ return NULL;
+
+ ret = cos_read_object (CONCORD_String_data (&val_st),
+ CONCORD_String_size (&val_st),
+ 0, &end);
+ if ( ret == NULL )
+ return NULL;