private void collectGenerator(Generator generator) {
        if (generator != null) {
            Class<?> klass = generator.klass();

            // I'm unsure if this can happen
            if (klass == null) {
                throw new RuntimeException("Bad @Generator found.");
            }

            Class<? extends Gen<?>> genClass = generator.generator();
            fromClassGenerators.put(klass, genClass);
        }
    }