code: public Configuration setFirstMemory(@NonNull AllocationStatus initialMemory) {
          if (initialMemory != AllocationStatus.DEVICE && initialMemory != AllocationStatus.HOST
                          && initialMemory != AllocationStatus.DELAYED)
              throw new IllegalStateException("First memory should be either [HOST], [DEVICE] or [DELAYED]");
  
          this.firstMemory = initialMemory;
  
          return this;
      }
docs: This method allows to specify initial memory to be used within system.
  HOST: all data is located on host memory initially, and gets into DEVICE, if used frequent enough
  DEVICE: all memory is located on device.
  DELAYED: memory allocated on HOST first, and on first use gets moved to DEVICE
  
  PLEASE NOTE: For device memory all data still retains on host side as well.
  
  Default value: DEVICE
  @param initialMemory
  @return