Dovresti dire cosa e` la variabile field e a cosa si riferisce .attributes.
Chi scrive gli attributi? L'utente o il programmatore?

Poi mi pare che usi in modo improprio il metodo .match: ritorna un vettore, non so se puo` essere == null