# Interface: com.pnfsoftware.jeb.core.units.code.asm.memory.ILazyMemoryProvider

Definition of a lazy memory provider. Use [IVirtualMemory#setLazyMemoryProvider(ILazyMemoryProvider, boolean)](IVirtualMemory#setLazyMemoryProvider(ILazyMemoryProvider, boolean)) to set a range.

## Method: getData
- parameter: `address`, type: `long`
- parameter: `size`, type: `int`
- parameter: `data`, type: `byte[]`
- parameter: `dataOffset`, type: `int`

Description: Provide the requested data.
parameter: address: start address
parameter: size: number of bytes
parameter: data: destination buffer that will receive the data
parameter: dataOffset: offset in the destination buffer
throws: on a reading error

## Method: getRanges
- return type: `java.util.List<com.pnfsoftware.jeb.core.units.code.asm.memory.Range>`

Description: The list of ranges provided by this object.
return: provided memory ranges

