class OAuthRefreshTokenProcessor implements Processor {

    @Override
    public void process(final Exchange exchange) throws Exception {
        if (state.getRefreshToken() != null && (isFirstTime.get() || state.getAccessTokenExpiresAt() - AHEAD_OF_TIME_REFRESH_MILIS <= now())) {
            tryToRefreshAccessToken();
        }

        final Message in = exchange.getIn();
        in.setHeader("Authorization", "Bearer " + state.getAccessToken());

        SyndesisHeaderStrategy.whitelist(exchange, "Authorization");
    }

      OAuthRefreshTokenProcessor(final OAuthState state, final Configuration configuration);

}