Program: 126792
Project: 126792
Buggy source:
@Override public EObject eResolveProxy(InternalEObject proxy){
  if (!proxy.eClass().equals(PropertiesPackage.eINSTANCE.getByteArray())) {
    return super.eResolveProxy(proxy);
  }
  URI proxyUri=proxy.eProxyURI();
  URI resourceUri=proxyUri.trimFragment();
  if (eResource() == null) {
    return super.eResolveProxy(proxy);
  }
  ResourceSet resourceSet=eResource().getResourceSet();
  ByteArrayResource byteArrayResource=null;
  URIConverter theURIConverter=resourceSet.getURIConverter();
  URI normalizedURI=theURIConverter.normalize(resourceUri);
  if ("String_Node_Str".equals(proxyUri.scheme()) && proxyUri.segmentCount() > 1 && "String_Node_Str".equals(proxyUri.segment(0))) {
    List<Resource> resources=resourceSet.getResources();
synchronized (resources) {
      for (      Resource resource : resources) {
        if (theURIConverter.normalize(resource.getURI()).equals(normalizedURI)) {
          byteArrayResource=(ByteArrayResource)resource;
          break;
        }
      }
    }
    if (byteArrayResource == null) {
      byteArrayResource=new ByteArrayResource(resourceUri);
      resourceSet.getResources().add(byteArrayResource);
    }
    try {
      byteArrayResource.load(null);
    }
 catch (    IOException e) {
    }
  }
 else {
    List<Resource> resources=resourceSet.getResources();
synchronized (resources) {
      for (      Resource resource : resources) {
        if (theURIConverter.normalize(resource.getURI()).equals(normalizedURI)) {
          byteArrayResource=(ByteArrayResource)resource;
          break;
        }
      }
    }
  }
  if (byteArrayResource != null && byteArrayResource.isLoaded()) {
    EObject object=byteArrayResource.getEObject(proxyUri.fragment().toString());
    if (object != null) {
      return object;
    }
  }
  throw new UnsupportedOperationException();
}

Fixed version (ground truth):
@Override public EObject eResolveProxy(InternalEObject proxy){
  if (!proxy.eClass().equals(PropertiesPackage.eINSTANCE.getByteArray())) {
    return super.eResolveProxy(proxy);
  }
  URI proxyUri=proxy.eProxyURI();
  URI resourceUri=proxyUri.trimFragment();
  if (eResource() == null) {
    return super.eResolveProxy(proxy);
  }
  ResourceSet resourceSet=eResource().getResourceSet();
  ByteArrayResource byteArrayResource=null;
  URIConverter theURIConverter=resourceSet.getURIConverter();
  URI normalizedURI=theURIConverter.normalize(resourceUri);
  if ((proxyUri.isPlatform() && proxyUri.segmentCount() > 1 && "String_Node_Str".equals(proxyUri.segment(0))) || proxyUri.isFile()) {
    List<Resource> resources=resourceSet.getResources();
synchronized (resources) {
      for (      Resource resource : resources) {
        if (theURIConverter.normalize(resource.getURI()).equals(normalizedURI)) {
          byteArrayResource=(ByteArrayResource)resource;
          break;
        }
      }
    }
    if (byteArrayResource == null) {
      byteArrayResource=new ByteArrayResource(resourceUri);
      resourceSet.getResources().add(byteArrayResource);
    }
    try {
      byteArrayResource.load(null);
    }
 catch (    IOException e) {
    }
  }
 else {
    List<Resource> resources=resourceSet.getResources();
synchronized (resources) {
      for (      Resource resource : resources) {
        if (theURIConverter.normalize(resource.getURI()).equals(normalizedURI)) {
          byteArrayResource=(ByteArrayResource)resource;
          break;
        }
      }
    }
  }
  if (byteArrayResource != null && byteArrayResource.isLoaded()) {
    EObject object=byteArrayResource.getEObject(proxyUri.fragment().toString());
    if (object != null) {
      return object;
    }
  }
  throw new UnsupportedOperationException();
}