code: private static void threadSafeAddRelation(GrammaticalRelation relation) {
      valuesLock.writeLock().lock();
      try { // try-finally structure taken from Javadoc code sample for ReentrantReadWriteLock
        synchronizedValues.add(relation);
        shortNameToGRel.put(relation.toString(), relation);
      } finally {
        valuesLock.writeLock().unlock();
      }
    }
docs: This method is meant to be called when you want to add a relation
  to the values list in a thread-safe manner.  Currently, this method
  is always used in preference to values.add() because we expect to
  add new EnglishGrammaticalRelations very rarely, so the eased
  concurrency seems to outweigh the fairly slight cost of thread-safe
  access.
  @param relation the relation to be added to the values list