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