code: public FieldValue evaluate(int index){
  
  		if(this.indexedNames == null){
  			throw new IllegalStateException();
  		}
  
  		FieldValue value = this.indexedValues[index];
  		if(value == EvaluationContext.UNDECLARED_VALUE){
  			FieldName name = this.indexedNames[index];
  
  			value = evaluate(name);
  
  			this.indexedValues[index] = value;
  		}
  
  		return value;
  	}
docs: <p>
  Looks up a field value by name index.
  </p>