Proper way of a testable method with multiple return points
You've got a Policy abstraction that is asking to be teased out.  The Policy provides a method that tests "is it valid to do this operation now".  In production, the Policy instance checks the time difference to see if it is valid.  In test, however, you specify an instance of the policy object that always says no when you want to test that code path.

You've a bit of refactoring to do to make that possible.  To make testing easier, you want to inject an instance of policy into the object, so that your test can control which implementation is being used.

@Override
public void applyStates(int timestamp, State[] states) {
    if (! this.policy.isValid(timestamp)) {
        return;
    }

    // ....


So for testing purposes, you might inject a "policy.isValid always returns false" object, and then run your tests and verify that none of the states have been applied (whatever that means).