This ended up being a bit too long for a comment, but I wanted to present another avenue of attack that may result in better performance.
The dominating set problem can be easily formulated as an Integer Linear Program. Given a graph $$G = (V, E)$$ create variables x_i in {0, 1}
for each v_i
where x_i
is zero if a vertex is not part of the dominating set or 1 if it is.
$$\text{min} \sum_{v_i \in V} x_{i}$$ $$\text{subject to} \sum_{x_{j} \in N(v_{i})} x_j \geq 1, \forall v_{i} \in V$$
That is, you want to minimize the size of the dominating set and you must ensure that the closed neighborhood of every vertex must have at least one vertex
You can formulate the problem for a particular graph and then feed it to either an open source solver such as GLPK or CP-SAT or commercial solvers such as CPLEX or Gurobi.
I am not familiar with which options are available for Java but there appear to be interfaces to solvers such as this one.