private static Method checkForCleanupMethod(Method m) {
        if(m.getAnnotation(TestObjectCleanup.class) == null) {
            return null;
        }
        if(!m.getReturnType().equals(void.class)) {
            throw new RuntimeException("@TestObjectCleanup "
                    + "must return void");
        }
        if((m.getModifiers() & java.lang.reflect.Modifier.STATIC) < 1) {
            throw new RuntimeException("@TestObjectCleanup "
                    + "must be static.");
        }
        if(m.getParameterTypes().length == 0
                || m.getParameterTypes()[0] != testClass) {
            throw new RuntimeException("@TestObjectCleanup "
                    + "must take an argument of the tested type.");
        }
        m.setAccessible(true);
        return m;
    }