class CoreTokenAdapter {

    public ResultHandler<Token, CoreTokenException> create(Token token) throws CoreTokenException {
        applyBlobStrategy(token);
        debug("Create: queued {0} Token {1}\n{2}", token.getType(), token.getTokenId(), token);
        final ResultHandler<Token, CoreTokenException> createHandler = handlerFactory.getCreateHandler();
        dispatcher.create(token, createHandler);
        return createHandler;
    }

    @Inject public  CoreTokenAdapter(TokenBlobStrategy strategy, TaskDispatcher dispatcher, ResultHandlerFactory handlerFactory,
                            CTSReaperInit reaperInit, @Named(CoreTokenConstants.CTS_DEBUG) Debug debug);

}