public DescriptorMap register(Class<?> cls, Descriptor descriptor) { Util.throwIfNull(cls); Util.throwIfNull(descriptor); Util.throwIf(descriptor.isInitialized()); Util.throwIfNot(this.mIsInitializing); if (this.mMap.containsKey(cls)) { throw new UnsupportedOperationException(); } else if (this.mMap.containsValue(descriptor)) { throw new UnsupportedOperationException(); } else { this.mMap.put(cls, descriptor); return this; } }