code: @Nonnull
      public static Point decode(@Nonnull final String mapcode, @Nullable final Territory defaultTerritoryContext)
              throws UnknownMapcodeException, IllegalArgumentException, UnknownPrecisionFormatException {
          checkNonnull("mapcode", mapcode);
  
          final MapcodeZone mapcodeZone = decodeToMapcodeZone(mapcode, defaultTerritoryContext);
          if (mapcodeZone.isEmpty()) {
              throw new UnknownMapcodeException("Unknown mapcode, mapcode=" + mapcode + ", territoryContext=" + defaultTerritoryContext);
          }
          return mapcodeZone.getCenter();
      }
docs: Decode a mapcode to a Point. A reference territory is supplied for disambiguation (only used if applicable).
  
  The accepted format is:
  {mapcode}
  {territory-code} {mapcode}
  
  Note that if a territory-code is supplied in the string, it takes preferences over the parameter.
  
  @param mapcode                 Mapcode.
  @param defaultTerritoryContext Default territory context for disambiguation purposes. May be null.
  @return Point corresponding to mapcode. Latitude range: -90..90, longitude range: -180..180.
  @throws UnknownMapcodeException         Thrown if the mapcode has the right syntax, but cannot be decoded into a point.
  @throws UnknownPrecisionFormatException Thrown if the precision format is incorrect.
  @throws IllegalArgumentException        Thrown if arguments are null, or if the syntax of the mapcode is incorrect.