Code example for Field

Methods: get, getType, set, setAccessible

		// find field 'self' 
		// this is also a good place for performance improvement 
		// so we can cache fields to prevent the look up 
		Field field = type.getDeclaredField("self");
		// get the entity value 
		Object entity = field.get(target);
		if (entity == null) {
			// if there is no value, lets create new entity 
			// this entity also may come from some external 
			// factory, too. 
			entity = field.getType().newInstance();
			// and set the entity value 
			field.set(target, entity);
		// continue with the method execution 
		return ProxyTarget.invoke();