private byte[] GetResource() { byte[] result; if (resourceReference == null || !resourceReference.TryGetTarget(out result)) { lock (lockObject) { if (resourceReference == null || !resourceReference.TryGetTarget(out result)) { result = data.GetContent(assembly); resourceReference = new WeakReference <byte[]>(result); } } } return(result); }