private static Collection<Neighbour> getNeighbours(final int[][] matrix, final int i, final int j) {
		final List<Neighbour> result = new LinkedList<>();
		for (int start = i - 1; start <= i + 1; ++start) {
			for (int startY = j - 1; startY <= j + 1; ++startY) {
				if (((start == i) && (startY == j)) || (start < 0) || (startY < 0) || (start >= matrix.length)
						|| (startY >= matrix[0].length)) {
					continue;
				}
				if (matrix[start][startY] > 0) {
					result.add(new Neighbour(start, startY));
				}
			}
		}
		return result;
	}