code: public Object getField(Object instance, String fieldname, boolean isStatic) throws IllegalAccessException {
  		FieldReaderWriter fieldReaderWriter = locateField(fieldname);
  		if (isStatic && !fieldReaderWriter.isStatic()) {
  			throw new IncompatibleClassChangeError("Expected static field "
  					+ fieldReaderWriter.theField.getDeclaringTypeName()
  					+ "." + fieldReaderWriter.theField.getName());
  		}
  		else if (!isStatic && fieldReaderWriter.isStatic()) {
  			throw new IncompatibleClassChangeError("Expected non-static field "
  					+ fieldReaderWriter.theField.getDeclaringTypeName()
  					+ "." + fieldReaderWriter.theField.getName());
  		}
  		Object o = null;
  		if (fieldReaderWriter.isStatic()) {
  			o = fieldReaderWriter.getStaticFieldValue(getClazz(), null);
  		}
  		else {
  			o = fieldReaderWriter.getValue(instance, null);
  		}
  
  		return o;
  	}
docs: Attempt to set the value of a field on an instance to the specified value. Simply locate the field, which returns
  an object capable of reading/writing it, then use that to retrieve the value.
  
  @param instance the object upon which to set the field (maybe null for static fields)
  @param fieldname the name of the field
  @param isStatic whether the field is static or not
  @return the field value
  @throws IllegalAccessException if there is a problem accessing the field