 
 		// 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);
+		const fieldsToClone:Vector.<Field> = findAllWritableFieldsForType(type);
 		var name:String;
 		for each(var field:Field in fieldsToClone) {
 			name = field.name;

import dolly.core.metadata.MetadataName;

import org.as3commons.reflect.Accessor;
import org.as3commons.reflect.Field;
import org.as3commons.reflect.Type;
import org.as3commons.reflect.Variable;

use namespace dolly_internal;


		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);
			}
		}

