protected abstract SurfaceUnit __DoSubstraction(SurfaceUnit right);
protected abstract SurfaceUnit __DoAddition(SurfaceUnit right);