// Retrieve the Discovery interface from the Resolver
Discovery discovery = resolver.getDiscovery(id);
// Stream the description to the StringWriter
StringWriter sw = new StringWriter(BUFFER_SIZE);
describer.describe(id, discovery, sw);
result = sw.toString();
synchronized ( cacheMutex ) {
cache.put(key, result);
}