class PositionValidator extends BaseValidator {

    @Override
    public String validate()
    {
        String message = null;

        Map<ColumnType, ColumnDefinitionRow> typesToColumns = mapTypesToColumns();

        if (typesToColumns.containsKey(ColumnType.LAT) || typesToColumns.containsKey(ColumnType.LON))
        {
            ColumnDefinitionRow latColumn = typesToColumns.get(ColumnType.LAT);
            ColumnDefinitionRow lonColumn = typesToColumns.get(ColumnType.LON);

            if (latColumn == null)
            {
                message = ColumnType.LAT + " column is not identified.";
            }
            else if (lonColumn == null)
            {
                message = ColumnType.LON + " column is not identified.";
            }
        }
        else if (!typesToColumns.containsKey(ColumnType.POSITION) && !typesToColumns.containsKey(ColumnType.WKT_GEOMETRY)
                && !typesToColumns.containsKey(ColumnType.MGRS))
        {
            message = "Selecting location columns is recommended.";
        }

        return message;
    }

    public  PositionValidator(ColumnDefinitionModel model);

}