code: private static int getShadowColor(final int elevation, @NonNull final Orientation orientation,
                                        final boolean parallelLight) {
          int alpha;
  
          if (parallelLight) {
              alpha = getShadowAlpha(elevation, MIN_BOTTOM_ALPHA, MAX_BOTTOM_ALPHA);
          } else {
              switch (orientation) {
                  case LEFT:
                      alpha = getShadowAlpha(elevation, MIN_LEFT_ALPHA, MAX_LEFT_ALPHA);
                      break;
                  case TOP:
                      alpha = getShadowAlpha(elevation, MIN_TOP_ALPHA, MAX_TOP_ALPHA);
                      break;
                  case RIGHT:
                      alpha = getShadowAlpha(elevation, MIN_RIGHT_ALPHA, MAX_RIGHT_ALPHA);
                      break;
                  case BOTTOM:
                      alpha = getShadowAlpha(elevation, MIN_BOTTOM_ALPHA, MAX_BOTTOM_ALPHA);
                      break;
                  default:
                      throw new IllegalArgumentException("Invalid orientation: " + orientation);
              }
          }
  
          return Color.argb(alpha, 0, 0, 0);
      }
docs: Returns the color of a shadow, which is located besides an edge of an elevated view.
  
  @param elevation
  The elevation, which should be emulated, in dp as an {@link Integer} value. The
  elevation must be at least 0 and at maximum the value of the constant
  <code>MAX_ELEVATION</code>
  @param orientation
  The orientation of the shadow in relation to the elevated view as a value of the enum
  {@link Orientation}. The orientation may either be <code>LEFT</code>,
  <code>TOP</code>, <code>RIGHT</code> or <code>BOTTOM</code>
  @param parallelLight
  True, if parallel light should be emulated, false otherwise
  @return The color of the shadow as an {@link Integer} value