private Map < String , Object > deserialized ( ) { // Written as a loop to prevent the need for locking DeserializationState deserState ; while ( ! ( deserState = _deserState . get ( ) ) . isDeserialized ( ) ) { Map < String , Object > deserialized = JsonHelper . fromJson ( deserState . json , new TypeReference < Map < String , Object > > ( ) { } ) ; deserialized . putAll ( deserState . overrides ) ; DeserializationState newDeserState = new DeserializationState ( deserialized ) ; _deserState . compareAndSet ( deserState , newDeserState ) ; } return deserState . deserialized ; }
Returns the JSON as a Map . If necessary the JSON is converted to a Map as a result of this call .