FerryMansProblem
left: wolf goat cabbage 
boat at: left cargo: 
right: 
Shortest path: 
ReachableState: number: 1 metricValue: 12.0
left: wolf cabbage goat 
boat at: left cargo: 
right: 
1 --load cargo Cargo: goat-> 2
ReachableState: number: 2 metricValue: 11.0
left: wolf cabbage 
boat at: left cargo: goat
right: 
2 --move boat-> 3
ReachableState: number: 3 metricValue: 10.0
left: wolf cabbage 
boat at: right cargo: 
right: goat 
3 --move boat-> 5
ReachableState: number: 5 metricValue: 9.0
left: wolf cabbage 
boat at: left cargo: 
right: goat 
5 --load cargo Cargo: wolf-> 6
ReachableState: number: 6 metricValue: 8.0
left: cabbage 
boat at: left cargo: wolf
right: goat 
6 --move boat-> 8
ReachableState: number: 8 metricValue: 7.0
left: cabbage 
boat at: right cargo: 
right: goat wolf 
8 --load cargo Cargo: goat-> 10
ReachableState: number: 10 metricValue: 6.0
left: cabbage 
boat at: right cargo: goat
right: wolf 
10 --move boat-> 14
ReachableState: number: 14 metricValue: 5.0
left: cabbage goat 
boat at: left cargo: 
right: wolf 
14 --load cargo Cargo: cabbage-> 16
ReachableState: number: 16 metricValue: 4.0
left: goat 
boat at: left cargo: cabbage
right: wolf 
16 --move boat-> 20
ReachableState: number: 20 metricValue: 3.0
left: goat 
boat at: right cargo: 
right: wolf cabbage 
20 --move boat-> 23
ReachableState: number: 23 metricValue: 2.0
left: goat 
boat at: left cargo: 
right: wolf cabbage 
23 --load cargo Cargo: goat-> 24
ReachableState: number: 24 metricValue: 1.0
left: 
boat at: left cargo: goat
right: wolf cabbage 
24 --move boat-> 25
ReachableState: number: 25 metricValue: 0.0
left: 
boat at: right cargo: 
right: wolf cabbage goat 
Full reachability graph: 
4 --move boat-> 1
ReachableState: number: 1 metricValue: 12.0
left: wolf cabbage goat 
boat at: left cargo: 
right: 
1 --load cargo Cargo: goat-> 2
1 --load cargo Cargo: goat-> 2
ReachableState: number: 2 metricValue: 11.0
left: wolf cabbage 
boat at: left cargo: goat
right: 
2 --move boat-> 3
2 --move boat-> 3
5 --move boat-> 3
ReachableState: number: 3 metricValue: 10.0
left: wolf cabbage 
boat at: right cargo: 
right: goat 
3 --load cargo Cargo: goat-> 4
3 --move boat-> 5
3 --load cargo Cargo: goat-> 4
ReachableState: number: 4 metricValue: 13.0
left: wolf cabbage 
boat at: right cargo: goat
right: 
4 --move boat-> 1
3 --move boat-> 5
11 --move boat-> 5
13 --move boat-> 5
ReachableState: number: 5 metricValue: 9.0
left: wolf cabbage 
boat at: left cargo: 
right: goat 
5 --load cargo Cargo: wolf-> 6
5 --load cargo Cargo: cabbage-> 7
5 --move boat-> 3
5 --load cargo Cargo: wolf-> 6
ReachableState: number: 6 metricValue: 8.0
left: cabbage 
boat at: left cargo: wolf
right: goat 
6 --move boat-> 8
5 --load cargo Cargo: cabbage-> 7
ReachableState: number: 7 metricValue: 8.0
left: wolf 
boat at: left cargo: cabbage
right: goat 
7 --move boat-> 9
6 --move boat-> 8
17 --move boat-> 8
ReachableState: number: 8 metricValue: 7.0
left: cabbage 
boat at: right cargo: 
right: goat wolf 
8 --load cargo Cargo: goat-> 10
8 --load cargo Cargo: wolf-> 11
7 --move boat-> 9
19 --move boat-> 9
ReachableState: number: 9 metricValue: 7.0
left: wolf 
boat at: right cargo: 
right: goat cabbage 
9 --load cargo Cargo: goat-> 12
9 --load cargo Cargo: cabbage-> 13
8 --load cargo Cargo: goat-> 10
ReachableState: number: 10 metricValue: 6.0
left: cabbage 
boat at: right cargo: goat
right: wolf 
10 --move boat-> 14
8 --load cargo Cargo: wolf-> 11
ReachableState: number: 11 metricValue: 10.0
left: cabbage 
boat at: right cargo: wolf
right: goat 
11 --move boat-> 5
9 --load cargo Cargo: goat-> 12
ReachableState: number: 12 metricValue: 6.0
left: wolf 
boat at: right cargo: goat
right: cabbage 
12 --move boat-> 15
9 --load cargo Cargo: cabbage-> 13
ReachableState: number: 13 metricValue: 10.0
left: wolf 
boat at: right cargo: cabbage
right: goat 
13 --move boat-> 5
10 --move boat-> 14
22 --move boat-> 14
ReachableState: number: 14 metricValue: 5.0
left: cabbage goat 
boat at: left cargo: 
right: wolf 
14 --load cargo Cargo: cabbage-> 16
14 --load cargo Cargo: goat-> 17
12 --move boat-> 15
21 --move boat-> 15
ReachableState: number: 15 metricValue: 5.0
left: wolf goat 
boat at: left cargo: 
right: cabbage 
15 --load cargo Cargo: wolf-> 18
15 --load cargo Cargo: goat-> 19
14 --load cargo Cargo: cabbage-> 16
ReachableState: number: 16 metricValue: 4.0
left: goat 
boat at: left cargo: cabbage
right: wolf 
16 --move boat-> 20
14 --load cargo Cargo: goat-> 17
ReachableState: number: 17 metricValue: 8.0
left: cabbage 
boat at: left cargo: goat
right: wolf 
17 --move boat-> 8
15 --load cargo Cargo: wolf-> 18
ReachableState: number: 18 metricValue: 4.0
left: goat 
boat at: left cargo: wolf
right: cabbage 
18 --move boat-> 20
15 --load cargo Cargo: goat-> 19
ReachableState: number: 19 metricValue: 8.0
left: wolf 
boat at: left cargo: goat
right: cabbage 
19 --move boat-> 9
16 --move boat-> 20
18 --move boat-> 20
23 --move boat-> 20
ReachableState: number: 20 metricValue: 3.0
left: goat 
boat at: right cargo: 
right: wolf cabbage 
20 --load cargo Cargo: wolf-> 21
20 --load cargo Cargo: cabbage-> 22
20 --move boat-> 23
20 --load cargo Cargo: wolf-> 21
ReachableState: number: 21 metricValue: 6.0
left: goat 
boat at: right cargo: wolf
right: cabbage 
21 --move boat-> 15
20 --load cargo Cargo: cabbage-> 22
ReachableState: number: 22 metricValue: 6.0
left: goat 
boat at: right cargo: cabbage
right: wolf 
22 --move boat-> 14
20 --move boat-> 23
26 --move boat-> 23
ReachableState: number: 23 metricValue: 2.0
left: goat 
boat at: left cargo: 
right: wolf cabbage 
23 --load cargo Cargo: goat-> 24
23 --move boat-> 20
23 --load cargo Cargo: goat-> 24
ReachableState: number: 24 metricValue: 1.0
left: 
boat at: left cargo: goat
right: wolf cabbage 
24 --move boat-> 25
24 --move boat-> 25
ReachableState: number: 25 metricValue: 0.0
left: 
boat at: right cargo: 
right: wolf cabbage goat 
25 --load cargo Cargo: goat-> 26
25 --load cargo Cargo: goat-> 26
ReachableState: number: 26 metricValue: 3.0
left: 
boat at: right cargo: goat
right: wolf cabbage 
26 --move boat-> 23
xtend: 
ReachableState: number: 25 metricValue: 0.0
left: 
boat at: right cargo: 
right: wolf cabbage goat 
java streams: 
Optional[ReachableState: number: 25 metricValue: 0.0
left: 
boat at: right cargo: 
right: wolf cabbage goat 
]
final step
ReachabilityGraph