FindNode - Space vs Return

When using GoDocument.FindNode in a GoWeb application, the method returns nothing if the either of the Text contents has a differing seperating character.

For example, "My Test" does not match "My[return]Test".
Obviously the best way around this would be to override the FindNode method for GoDocument. Therefore, my question is, based on how this is currently implemented what would you suggest to be the most effecient way to code this?
Could you possibly supply the current method logic?

In addition to this, what i basically want to know is, does the FindNode method simply loop through the GoObjects in a document and identify a match on the Text (returning the first object found) or this there another more effecient process being used?

I don't want to override a method and make it less effecient
It would be nice to be able to find node by UserFlags or UserObject property. When creating diagram from database, the text name is not the best approach as it could hold multiple occurrences (ie. people with same name in my case).

FindNode basically does just loop through the collection of GoObjects in the document:
foreach (GoObject obj in coll) {

if the case of FindNode we're checking to see if the object is an IGoLabeledPart and then examining the text, but you could easily (and just as efficiently) implement your own seach method looking for whatever objects and properties you wanted.
The only other wrinkle is that if you want to find objects inside a subgraph, you'll need to check each object to see if it's a subgraph and recursively search inside the subgraph if desired.