 
         private static function getPropertyArray(objects:Array, property:String, mapping:Object):Array
         {
-            var output:Array = new Array(objects.length);
-            for (var idx:int = objects.length - 1; idx >= 0; idx--)
-            {
-                if (mapping)
-                {
-                    output[idx] = mapping[objects[idx][property]];
-                }
-                else
-                {
-                    output[idx] = objects[idx][property];
-                }
-            }
+            var output:Array = VectorUtils.pluck(objects, property);
+
+            if (mapping) output = output.map(function(d,i,a){return mapping[d];});
+
             return output;
         }
         


                key_remap_src = nodeIdToKey;

                keyType = nodeKeyType.value;
            }
            else if (metadata[GROUP_META] == GraphMLConverter.EDGE)
            {
                raw_rows = edgeColumnData;

                data_remap_src = (metadata[COLUMNNAME_META] == GraphMLConverter.SOURCE ||
                                 metadata[COLUMNNAME_META] == GraphMLConverter.TARGET) ? nodeIdToKey : null;

                if (data_remap_src)
                    metadata[ColumnMetadata.DATA_TYPE] = nodeKeyType.value;


            if (!raw_rows) return;

            var data_column:Array = getPropertyArray(raw_rows, columnName, data_remap_src);
            var key_column:Array = getPropertyArray(raw_rows, GraphMLConverter.ID, key_remap_src);
            
            if (!metadata[ColumnMetadata.KEY_TYPE])
