code: public static String formatPointLocation(final PointLocation pointLocation,
                                             final PointLocationFormatType formatType)
      throws FormatterException
    {
      if (pointLocation == null)
      {
        throw new FormatterException("No point location provided");
      }
      if (formatType == null)
      {
        throw new FormatterException("No format type provided");
      }
  
      final String formatted;
      switch (formatType)
      {
        case HUMAN_LONG:
          formatted = pointLocation.toString();
          break;
        case HUMAN_MEDIUM:
          formatted = formatHumanMedium(pointLocation);
          break;
        case HUMAN_SHORT:
          formatted = formatHumanShort(pointLocation);
          break;
        case LONG:
          formatted = formatISO6709Long(pointLocation);
          break;
        case MEDIUM:
          formatted = formatISO6709Medium(pointLocation);
          break;
        case SHORT:
          formatted = formatISO6709Short(pointLocation);
          break;
        case DECIMAL:
          formatted = formatISO6709WithDecimals(pointLocation);
          break;
        default:
          throw new FormatterException("Unsupported format type");
      }
  
      return formatted;
  
    }
docs: Formats a point location as an ISO 6709 or human readable string.
  
  @param pointLocation
  Point location to format
  @param formatType
  Format type
  @return Formatted string
  @throws FormatterException
  On an exception