class AbstractTokenCreator implements TokenCreator {

    @Override
    public final int createToken( String name )
    {
        try ( Response<Integer> response = create( master, requestContextFactory.newRequestContext(), name ) )
        {
            return response.response();
        }
        catch ( ComException e )
        {
            throw new TransientTransactionFailureException(
                    "Cannot create identifier for token '" + name + "' on the master " + master + ". " +
                    "The master is either down, or we have network connectivity problems", e );
        }
    }

    protected  AbstractTokenCreator( Master master, RequestContextFactory requestContextFactory );

}