import com.google.common.collect.Iterables;
import javax.annotation.concurrent.GuardedBy;
+import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTreeNode.ChildAddressabilitySummary;
import org.opendaylight.mdsal.binding.dom.codec.impl.NodeCodecContext.CodecContextFactory;
import org.opendaylight.yangtools.yang.binding.DataObject;
private final PathArgument yangArg;
private final ChildAddressabilitySummary childAddressabilitySummary;
- private volatile DataContainerCodecContext<?, T> instance = null;
+ private volatile DataContainerCodecContext<?, T> instance;
@SuppressWarnings("unchecked")
private DataContainerCodecPrototype(final Class<?> cls, final PathArgument arg, final T nodeSchema,
synchronized (this) {
tmp = instance;
if (tmp == null) {
- tmp = createInstance();
- instance = tmp;
+ instance = tmp = createInstance();
}
}
}
@GuardedBy("this")
@SuppressWarnings({ "rawtypes", "unchecked" })
- private DataContainerCodecContext<?,T> createInstance() {
+ private @NonNull DataContainerCodecContext<?, T> createInstance() {
// FIXME: make protected abstract
if (schema instanceof ContainerSchemaNode) {
return new ContainerNodeCodecContext(this);