You missed the case where you are outside the bank but there are no nearby trees, using areas or any other predefined sets of data is generally not a good idea. Remove the areas in your logic and it should look like this
private State getState() {
Entity treeToChop = objects.closest(tree);
if (inventory.isFull() && powerChop == false)
return State.BANK;
if(inventory.isFull() && powerChop == true)
return State.POWERCHOP;
if (treeToChop != null)
return State.CHOP;
else
return State.WALK;
}
And a state that doesn't do anything at all is just bad practice, simply returning from the current loop iteration without performing any actions will yield the same result.
PS: you also have the case where you are at the desired location to chop trees but all tree instances are depleted, but since you know the destination you can add this condition to your states
Edit: You should post the case CHOP as the error is definitely there