public static <T extends IPositioned & ISized> IntSupplier middleAlignedTo(ISized owner, T other, int offset)
	{
		checkNotNull(other);
		return () -> {
			return (int) (other.position().y() + Math.ceil(((float) other.size().height() - owner.size().height()) / 2) + offset);
		};
	}
public static < T extends IPositioned & ISized > IntSupplier middleAlignedTo ( ISized owner , T other , int offset ) { checkNotNull ( other ) ; return ( ) -> { return ( int ) ( other . position ( ) . y ( ) + Math . ceil ( ( ( float ) other . size ( ) . height ( ) - owner . size ( ) . height ( ) ) / 2 ) + offset ) ; } ; }
Middle aligns the owner to the other.

@param <T> the generic type
@param other the other
@param offset the offset
@return the int supplier