code: Collection<Method> getRelevantGetters(Class<?> clazz) {
          synchronized (getterCache) {
              if ( !getterCache.containsKey(clazz) ) {
                  List<Method> relevantGetters = new LinkedList<Method>();
                  for ( Method m : clazz.getMethods() ) {
                      if ( isRelevantGetter(m) ) {
                          relevantGetters.add(m);
                      }
                  }
                  getterCache.put(clazz, relevantGetters);
              }
          }
          return getterCache.get(clazz);
      }
docs: Returns the set of getter methods which are relevant when marshalling or
  unmarshalling an object.