public TileModel getTile ( int row, int column ) {
        if ( row < 0 || row >= ConfigurationData.getInstance ().getRows () )
            throw new IllegalArgumentException ( "Parameter row is out of bound [0," + ( ConfigurationData.getInstance ().getRows () - 1 ) + "]: " + row );

        if ( column < 0 || column >= ConfigurationData.getInstance ().getColumns () )
            throw new IllegalArgumentException ( "Parameter column is out of bound [0," + ( ConfigurationData.getInstance ().getColumns () - 1 ) + "]: " + column );

        if ( ( row % 2 == 0 && column % 2 == 1 ) || ( row % 2 == 1 && column % 2 == 0 ) )
            throw new IllegalArgumentException ( "The tile " + row + "," + column + " is not available in this hexagonal map." );

        return tiles [ row ] [ column ];
    }