code: private boolean enlargeMemory() throws InterruptedException {
          int bytesAllocated = DynamicMemoryAllocater.INSTANCES[gp.instanceID].allocateNextChunk();
          if (bytesAllocated > 0) {
  
              byte[] mem = new byte[bytesAllocated];
              byte[][] new_mem = new byte[memory.length + 1][];
              for (int i = 0; i < memory.length; i++) {
                  new_mem[i] = memory[i];
              }
              lastChunkIndex++;
              new_mem[lastChunkIndex] = mem;
              memory = new_mem;
              position_in_chunk = 0;
              return true;
          } else {
              return false;
          }
      }
docs: Enlarges the memory by one chunk. If this was successful <code>true</code> will be returned, otherwise
  <code>false</code>.
  
  @throws InterruptedException