 import dolly.core.metadata.MetadataName;
 
 import org.as3commons.reflect.Accessor;
+import org.as3commons.reflect.AccessorAccess;
 import org.as3commons.reflect.Field;
 import org.as3commons.reflect.IMetadataContainer;
 import org.as3commons.reflect.Type;

use namespace dolly_internal;

public class Copier {

	private static function isAccessorCopyable(accessor:Accessor, skipMetadataChecking:Boolean = true):Boolean {
		return !accessor.isStatic && accessor.isReadable() && accessor.isWriteable() &&
				(skipMetadataChecking || accessor.hasMetadata(MetadataName.COPYABLE));
	}

	dolly_internal static function findCopyableFieldsForType(type:Type):Vector.<Field> {
		const result:Vector.<Field> = new Vector.<Field>();

					}
				} else if (metadataContainer is Accessor) {
					accessor = metadataContainer as Accessor;
					if (!accessor.isStatic
							&& accessor.access == AccessorAccess.READ_WRITE
							&& accessor.hasMetadata(MetadataName.COPYABLE)) {
						result.push(accessor);
					}
				}
