 import dolly.core.metadata.MetadataName;
 
 import org.as3commons.reflect.Accessor;
+import org.as3commons.reflect.AccessorAccess;
 import org.as3commons.reflect.Field;
 import org.as3commons.reflect.Type;
-import org.as3commons.reflect.Variable;
 
 use namespace dolly_internal;
 


		// Find all public writable fields in a hierarchy of a source object
		// and assign their values to a clone object.
		const fieldsToClone:Vector.<Field> = findAllCloneableFieldsForType(type);
		var name:String;
		for each(var field:Field in fieldsToClone) {
			name = field.name;

		return type.hasMetadata(MetadataName.CLONEABLE);
	}

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

		for each(var field:Field in type.fields) {
			if (field.isStatic) {
				continue;
			}

			if (!(field is Accessor) || (field as Accessor).access == AccessorAccess.READ_WRITE) {
				result.push(field);
			}
		}

