code: public static Geometry computeShadow(Geometry geometry, Geometry sunPosition, double height) {
          if (sunPosition != null) {
              if (sunPosition instanceof Point) {
                  return computeShadow(geometry, sunPosition.getCoordinate().x, sunPosition.getCoordinate().y, height, true);
              }
              throw new IllegalArgumentException("The sun position must be stored in a point with \n"
                      + "x = sun azimuth in radians (direction along the horizon, measured from north to\n"
                      + "east and y = sun altitude above the horizon in radians.");
          }
          return null;
      }
docs: Compute the shadow footprint based on
  
  @param geometry input geometry
  @param sunPosition as a point where x = azimuth and y=altitude
  @param height of the geometry
  @return