// Path: src/main/java/moulder/Value.java
// public interface Value<T> {
// 	/**
// 	 * 
// 	 * @return the generated value
// 	 */
// 	T get();
// }


import moulder.Value;
import java.beans.BeanInfo;
import java.beans.IntrospectionException;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
package moulder.values;



public class ValueFieldExtractor<T, S> extends ValueTransformer<S, T> {

    private Method m;

// Path: src/main/java/moulder/Value.java
// public interface Value<T> {
// 	/**
// 	 * 
// 	 * @return the generated value
// 	 */
// 	T get();
// }


// Path: src/main/java/moulder/values/ValueFieldExtractor.java
import moulder.Value;
import java.beans.BeanInfo;
import java.beans.IntrospectionException;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

package moulder.values;



public class ValueFieldExtractor<T, S> extends ValueTransformer<S, T> {

    private Method m;

    public ValueFieldExtractor(Value<S> delegate, String field,