@@ -0,0 +1,1774 @@
+package fi.vincit.multiusertest.runner;%0D%0A%0D%0Aimport fi.vincit.multiusertest.test.AbstractUserRoleIT;%0D%0Aimport fi.vincit.multiusertest.util.UserIdentifier;%0D%0Aimport org.junit.runners.BlockJUnit4ClassRunner;%0D%0Aimport org.junit.runners.model.FrameworkMethod;%0D%0Aimport org.junit.runners.model.InitializationError;%0D%0A%0D%0A%0D%0Apublic class BlockMultiUserTestClassRunner extends BlockJUnit4ClassRunner %7B%0D%0A%0D%0A    private UserIdentifier creatorIdentifier;%0D%0A    private UserIdentifier userIdentifier;%0D%0A%0D%0A%0D%0A    public BlockMultiUserTestClassRunner(Class%3C?%3E clazz, UserIdentifier creatorIdentifier, UserIdentifier userIdentifier) throws InitializationError %7B%0D%0A        super(clazz);%0D%0A        this.creatorIdentifier = creatorIdentifier;%0D%0A        this.userIdentifier = userIdentifier;%0D%0A    %7D%0D%0A%0D%0A%0D%0A    @Override%0D%0A    protected String testName(FrameworkMethod method) %7B%0D%0A        return String.format(%22%25s: %25s%22, method.getName(), getIdentifierDescription());%0D%0A    %7D%0D%0A%0D%0A    @Override%0D%0A    protected String getName() %7B%0D%0A        return String.format(%22%25s: %25s%22, getTestClass().getName(), getIdentifierDescription());%0D%0A    %7D%0D%0A%0D%0A    private String getIdentifierDescription() %7B%0D%0A        return String.format(%22creator = %25s; user = %25s%22, creatorIdentifier, userIdentifier);%0D%0A    %7D%0D%0A%0D%0A    @Override%0D%0A    protected Object createTest() throws Exception %7B%0D%0A        Object testInstance = super.createTest();%0D%0A        if (testInstance instanceof AbstractUserRoleIT) %7B%0D%0A            AbstractUserRoleIT roleItInstance = (AbstractUserRoleIT) testInstance;%0D%0A            roleItInstance.setUsers(creatorIdentifier, userIdentifier);%0D%0A            return roleItInstance;%0D%0A        %7D else %7B%0D%0A            throw new IllegalStateException(%22Test class must be of type %22 + AbstractUserRoleIT.class.getSimpleName());%0D%0A        %7D%0D%0A    %7D%0D%0A%0D%0A%7D%0D%0A

Add JUnit Block runner support