code: public static <T extends ISized & IChild<U>, U extends ISized> IntSupplier middleAligned(T owner, int offset)
  	{
  		return () -> {
  			U parent = owner.getParent();
  			if (owner.getParent() == null)
  				return 0;
  			return (int) (Math.ceil(((float) parent.size().height() - Padding.of(parent).vertical() - owner.size().height()) / 2) + offset);
  		};
  	}
docs: Positions the owner to the bottom inside its parent.<br>
  Respects the parent padding.
  
  @param <T> the generic type
  @param <U> the generic type
  @param offset the offset
  @return the int supplier