try { return tileInstanceProperties[y - bounds.y][x - bounds.x]; } catch (ArrayIndexOutOfBoundsException e) {
if (!bounds.contains(x, y)) {
    public Properties getTileInstancePropertiesAt(int x, int y) {        try {            return tileInstanceProperties[y - bounds.y][x - bounds.x];        } catch (ArrayIndexOutOfBoundsException e) {            return null;        }    }