# obtain

@Nullable
abstract fun obtain(): @Nullable T(source)

Obtains the value from the source. The returned value must be effectively immutable. The implementation is exempt from the automatic detection of work graph cache inputs.

This method must be implemented in the subclass.

This method is only called if the provider value is requested and only once in that case.

#### Return

the value obtained or `null` if the value is not present.