/// <summary> /// Called during Velocity merge before a reference value will /// be inserted into the output stream. /// </summary> /// <param name="referenceStack">the stack of objects used to reach this reference</param> /// <param name="reference">reference from template about to be inserted</param> /// <param name="value"> value about to be inserted (after toString() )</param> /// <returns> /// Object on which toString() should be called for output. /// </returns> internal Object ReferenceInsert(Stack referenceStack, String reference, Object value) { if (ReferenceInsertion != null) { ReferenceInsertionEventArgs args = new ReferenceInsertionEventArgs(referenceStack, reference, value); ReferenceInsertion(this, args); value = args.NewValue; } return value; }