private String getPolicy(List<String> accountIds) {
        Policy policy = new Policy("AuthorizedWorkerAccessPolicy");
        Statement stmt = new Statement(Effect.Allow);
        Action action = SQSActions.SendMessage;
        stmt.getActions().add(action);
        stmt.setResources(new LinkedList<>());
        for (String accountId : accountIds) {
            Principal principal = new Principal(accountId);
            stmt.getPrincipals().add(principal);
        }
        stmt.getResources().add(new Resource(getQueueARN()));
        policy.getStatements().add(stmt);
        return policy.toJson();
    }
@param visibilityTimeout Visibility timeout for the message in SECONDS
@return builder instance
awssqs-event-queue/src/main/java/com/netflix/conductor/sqs/eventqueue/SQSObservableQueue.java