@Override
public Descriptor getMessageDescriptor(String fullName) {
readLock.lock();
try {
GenericDescriptor descriptor = genericDescriptors.get(fullName);
if (descriptor == null) {
throw new IllegalArgumentException("Message descriptor not found : " + fullName);
}
if (!(descriptor instanceof Descriptor)) {
throw new IllegalArgumentException(fullName + " is not a message type");