code: @Override
      public String getSimpleMoveTypeDescription() {
          Set<String> childMoveTypeDescriptionSet = new TreeSet<>();
          for (Move<Solution_> move : moves) {
              childMoveTypeDescriptionSet.add(move.getSimpleMoveTypeDescription());
          }
          StringBuilder moveTypeDescription = new StringBuilder(20 * (moves.length + 1));
          moveTypeDescription.append(getClass().getSimpleName()).append("(");
          String delimiter = "";
          for (String childMoveTypeDescription : childMoveTypeDescriptionSet) {
              moveTypeDescription.append(delimiter).append("* ").append(childMoveTypeDescription);
              delimiter = ", ";
          }
          moveTypeDescription.append(")");
          return moveTypeDescription.toString();
      }
docs: ************************************************************************