public void evaluate() throws Throwable {
if (startingStatement != null) {
Class<?> clazz = this.clazz;
while (!Object.class.equals(clazz)) {
for (final Field field : clazz.getDeclaredFields()) {
final TestResource resource = field.getAnnotation(TestResource.class);
if (resource != null) {
if (Context.class.isAssignableFrom(field.getType())) {
field.setAccessible(true);
field.set(Modifier.isStatic(field.getModifiers()) ? null : test, startingStatement.getContainer().getContext());
} else if (Hashtable.class.isAssignableFrom(field.getType())) {