code: public static ItemStack copy(ItemStack itemStack)
  	{
  		//we need to make sure the itemStack is not empty before copying
  		int originalSize = itemStack.getCount();
  		itemStack.setCount(1);
  
  		ItemStack copy = itemStack.copy();
  		//set the size back
  		copy.setCount(originalSize);
  		itemStack.setCount(originalSize);
  		return copy;
  	}
docs: {@link ItemStack#copy()} version that doesn't loose the actual item if the stack is empty.
  
  @param itemStack the item stack
  @return the item stack