class GeneratorParams {
    private Object generator;
    private Object param;

    public GeneratorParams(Object generator, Object param) {
        this.generator = generator;
        this.param = param;
    }

    public Object getGenerator() {
        return generator;
    }

    public void setGenerator(Object generator) {
        this.generator = generator;
    }

    public Object getParam() {
        return param;
    }

    public void setParam(Object params) {
        this.param = params;
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result
                + ((generator == null) ? 0 : generator.hashCode());
        result = prime * result + ((param == null) ? 0 : param.hashCode());
        return result;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        GeneratorParams other = (GeneratorParams) obj;
        if (generator == null) {
            if (other.generator != null)
                return false;
        } else if (!generator.equals(other.generator))
            return false;
        if (param == null) {
            if (other.param != null)
                return false;
        } else if (!param.equals(other.param))
            return false;
        return true;
    }

    /**
     * Return an instance in this classloader
     *
     * @param paramsFromOtherClassLoader
     *            instamce in another classlaoder
     * @return instance in this classloader
     * @throws Exception
     */
    public static GeneratorParams valueOf(Object paramsFromOtherClassLoader)
            throws Exception {<FILL_FUNCTION_BODY>}
}

        if (paramsFromOtherClassLoader.getClass()
                .getClassLoader() == GeneratorParams.class.getClassLoader()) {
            return (GeneratorParams) paramsFromOtherClassLoader;
        }
        Object params = ReflectionHelper.get(paramsFromOtherClassLoader,
                "param");
        Object generator = ReflectionHelper.get(paramsFromOtherClassLoader,
                "generator");
        return new GeneratorParams(generator, params);
    
<no_super_class>