@Override
 public Square[][] createField() {
   int tries = 0;
   int limit = 20;
   while (tries < limit) {
     Square[][] field = null;
     field = createUnvalidatedField();
     if (isValid(field)) {
       return field;
     }
     tries++;
     System.out.println("Discarded\n" + Square.getField(field));
   }
   throw new RuntimeException("Couldn't create field");
 }