* @return a new state or null if none could be found
*/
@Nullable
private static StateValue getNewStateValue(State state, Transform transform, Vector oldDirection) {
Vector newDirection = transform.apply(oldDirection).subtract(transform.apply(Vector.ZERO)).normalize();
StateValue newValue = null;
double closest = -2;
boolean found = false;
for (StateValue v : state.valueMap().values()) {
if (v.getDirection() != null) {