docs: protected float getStartingOffset(final float totalSize) {
          final float axisSize = getViewPortSize(getOrientationAxis());
          float startingOffset = 0;
  
          switch (getGravityInternal()) {
              case LEFT:
              case FILL:
              case TOP:
              case FRONT:
                  startingOffset = -axisSize / 2;
                  break;
              case RIGHT:
              case BOTTOM:
              case BACK:
                  startingOffset = (axisSize / 2 - totalSize);
                  break;
              case CENTER:
                  startingOffset = -totalSize / 2;
                  break;
              default:
                  Log.w(TAG, "Cannot calculate starting offset: " +
                          "gravity %s is not supported!", mGravity);
                  break;
  
          }
  
          Log.d(LAYOUT, TAG, "getStartingOffset(): totalSize: %5.4f, dimension: %5.4f, startingOffset: %5.4f",
                totalSize, axisSize, startingOffset);
  
          return startingOffset;
      }