private Run prepInsertionRun(int x, int y) {
	  Run currentRun = getFirst();
	  int insertionPoint = wrap(x, y);
	  int position = 0;
	  int totalLength = width * height;
	  
	  while(position < totalLength) {
		  if(insertionPoint > currentRun.getRunLength() + position - 1) {
			  position += currentRun.getRunLength();
			  currentRun = currentRun.getNext();
			  continue;
		  }
		  
		  break;
	  }
	  
	  if((position >= totalLength) || (currentRun.getRunType() != Ocean.EMPTY))
		  return null; // Either this is a run of type EMPTY or insertionPoint is out of bounds
	  
	  Run start = currentRun.getPrev();
	  int currentLength = currentRun.getRunLength();
	  int currentType = Ocean.EMPTY;
	  int currentHunger = -1;
	  
	  insertAfter(start, new Run(insertionPoint - position, currentType, currentHunger));
	  insertAfter(currentRun, new Run(currentLength - currentRun.getPrev().getRunLength() - 1, currentType,  currentHunger));
	  currentRun.setRunLength(1);
	  
	  return currentRun;
  }