anchor.diff:  									   properties[key] = _jsonToBaseObjectData( value );
   								   } );
   			return new ClassObjectData( )
  -				..hashcode = (json as Map)["\$hashcode"]
  +				..previousHashCode = (json as Map)["\$hashcode"]
   				..objectType = _getClassMirrorByName( json["\$type"] ).reflectedType
   				..properties = properties;
   		} else if ( json is List )
  
positive.code: 	bool get isNativeType
  	=> false;
  
  	String hashcode;
  
  	Map<String, BaseObjectData> properties;
  }
  
negative.code: 		{
  			ClassConverterInstance classConverterInstance;
  			var instanceMirror = reflectClass( baseObjectData.objectType ).newInstance( new Symbol( "" ), [] );
  			if ( instances.containsKey( baseObjectData.previousHashCode ) )
  				classConverterInstance = instances[baseObjectData.previousHashCode];
  			else
  				classConverterInstance = instances[baseObjectData.previousHashCode] = new ClassConverterInstance( )
  					..filled = false
  					..instance = instanceMirror.reflectee;
  
  			if ( !classConverterInstance.filled && baseObjectData.properties.length > 0 )
  			{
  				instanceMirror = reflect( classConverterInstance.instance );
  				for ( var property in _getPublicReadWriteProperties( reflectClass( baseObjectData.objectType ) ) )
  				{
  					if ( baseObjectData.properties.containsKey( MirrorSystem.getName( property.simpleName ) ) )
  