private List<EntityVote> verifyAction(HashoutUserToDelegate hashoutUserToDelegate, long time) {
    Pair<EntityUser> users = EntityUser.load(new Pair<Id>(voterId, delegateId));
    if (!users.getFirst().getType().equals(UserType.VOTER)) {
      throw new VoteUserException("Voter type " + users.getFirst().getType() + ": " + voterId);
    }
    if (!users.getSecond().getType().equals(UserType.DELEGATE)) {
      throw new VoteUserException("Delegate is not of type delegate: " + delegateId);
    }
    List<EntityUserAndVote> currentVotes = hashoutUserToDelegate.loadEntities(voterId.getKey());
    List<EntityVote> activeVotes = new ArrayList<EntityVote>();
    for (EntityUserAndVote userAndVote : currentVotes) {
      EntityVote vote = userAndVote.getVote();
      if (vote.getEndTime() > time) {
        activeVotes.add(vote);
      }
    }
    if (activeVotes.size() > 1) {
      throw new VoteUserException("More then one current vote: " + voterId + " " + delegateId);
    }
    return activeVotes;
  }