endValue = createNullMarginIfNeeded(endValue);
if (startValue.equals(endValue)) {
return startValue;
}
return new Margin(mixComponent(
startValue.getLeftMargin(), endValue.getLeftMargin(), pos),
mixComponent(startValue.getTopMargin(), endValue.getTopMargin(), pos),
mixComponent(startValue.getRightMargin(), endValue.getRightMargin(), pos),
mixComponent(startValue.getBottomMargin(), endValue.getBottomMargin(), pos)
);