Program: 83994
Project: 83994
Buggy source:
protected JsonObjectPropertyValue getValue(JsonEvent event,EdmEntitySet ees,String name,JsonStreamReader jsr){
  JsonObjectPropertyValue rt=new JsonObjectPropertyValue();
  ensureStartObject(event);
  event=jsr.nextEvent();
  ensureStartProperty(event);
  if (DEFERRED_PROPERTY.equals(event.asStartProperty().getName())) {
    ensureStartObject(jsr.nextEvent());
    ensureStartProperty(jsr.nextEvent(),URI_PROPERTY);
    String uri=jsr.nextEvent().asEndProperty().getValue();
    rt.uri=uri;
    ensureEndObject(jsr.nextEvent());
    ensureEndProperty(jsr.nextEvent());
    ensureEndObject(jsr.nextEvent());
  }
 else   if (RESULTS_PROPERTY.equals(event.asStartProperty().getName())) {
    if (version == ODataVersion.V1) {
      throw new IllegalArgumentException("String_Node_Str");
    }
    EdmNavigationProperty navProp=ees.type.getNavigationProperty(name);
    ensureStartArray(jsr.nextEvent());
    Feed feed=parseFeed(metadata.getEdmEntitySet(navProp.toRole.type),jsr);
    rt.entities=Enumerable.create(feed.getEntries()).cast(JsonEntry.class).select(new Func1<JsonEntry,OEntity>(){
      @Override public OEntity apply(      JsonEntry input){
        return input.getEntity();
      }
    }
).toList();
    ensureEndProperty(jsr.nextEvent());
    ensureEndObject(jsr.nextEvent());
  }
 else   if (METADATA_PROPERTY.equals(event.asStartProperty().getName())) {
    EdmNavigationProperty navProp=ees.type.getNavigationProperty(name);
    JsonEntryMetaData jemd=parseMetadata(jsr);
    JsonEntry refentry=parseEntry(jemd,metadata.getEdmEntitySet(navProp.toRole.type),jsr);
    if (isResponse) {
      rt.entity=refentry.getEntity();
    }
 else {
      boolean isInlined=!refentry.properties.isEmpty() || !refentry.links.isEmpty();
      if (isInlined) {
        rt.entity=refentry.getEntity();
      }
 else {
        rt.uri=jemd.uri;
      }
    }
  }
 else   if (event.isStartProperty()) {
    EdmNavigationProperty navProp=ees.type.getNavigationProperty(name);
    ees=metadata.getEdmEntitySet(navProp.toRole.type);
    JsonEntry refentry=new JsonEntry();
    refentry.properties=new ArrayList<OProperty<?>>();
    refentry.links=new ArrayList<OLink>();
    do {
      addProperty(refentry,ees,event.asStartProperty().getName(),jsr);
      event=jsr.nextEvent();
    }
 while (!event.isEndObject());
    rt.entity=refentry.getEntity();
  }
 else {
    throw new IllegalArgumentException("String_Node_Str");
  }
  ensureEndProperty(jsr.nextEvent());
  return rt;
}

Fixed version (ground truth):
protected JsonObjectPropertyValue getValue(JsonEvent event,EdmEntitySet ees,String name,JsonStreamReader jsr){
  JsonObjectPropertyValue rt=new JsonObjectPropertyValue();
  ensureStartObject(event);
  event=jsr.nextEvent();
  ensureStartProperty(event);
  if (DEFERRED_PROPERTY.equals(event.asStartProperty().getName())) {
    ensureStartObject(jsr.nextEvent());
    ensureStartProperty(jsr.nextEvent(),URI_PROPERTY);
    String uri=jsr.nextEvent().asEndProperty().getValue();
    rt.uri=uri;
    ensureEndObject(jsr.nextEvent());
    ensureEndProperty(jsr.nextEvent());
    ensureEndObject(jsr.nextEvent());
  }
 else   if (RESULTS_PROPERTY.equals(event.asStartProperty().getName())) {
    if (version == ODataVersion.V1) {
      throw new IllegalArgumentException("String_Node_Str");
    }
    EdmNavigationProperty navProp=ees.type.getNavigationProperty(name);
    ensureStartArray(jsr.nextEvent());
    Feed feed=parseFeed(metadata.getEdmEntitySet(navProp.toRole.type),jsr);
    rt.entities=Enumerable.create(feed.getEntries()).cast(JsonEntry.class).select(new Func1<JsonEntry,OEntity>(){
      @Override public OEntity apply(      JsonEntry input){
        return input.getEntity();
      }
    }
).toList();
    ensureEndProperty(jsr.nextEvent());
    ensureEndObject(jsr.nextEvent());
  }
 else   if (METADATA_PROPERTY.equals(event.asStartProperty().getName())) {
    EdmNavigationProperty navProp=ees.type.getNavigationProperty(name);
    JsonEntryMetaData jemd=parseMetadata(jsr);
    JsonEntry refentry=parseEntry(jemd,metadata.getEdmEntitySet(navProp.toRole.type),jsr);
    if (isResponse) {
      rt.entity=refentry.getEntity();
    }
 else {
      boolean isInlined=!refentry.properties.isEmpty() || !refentry.links.isEmpty();
      if (isInlined) {
        rt.entity=refentry.getEntity();
      }
 else {
        rt.uri=jemd.uri;
      }
    }
  }
 else   if (event.isStartProperty()) {
    EdmNavigationProperty navProp=ees.type.getNavigationProperty(name);
    ees=metadata.getEdmEntitySet(navProp.toRole.type);
    JsonEntry refentry=new JsonEntry();
    refentry.properties=new ArrayList<OProperty<?>>();
    refentry.links=new ArrayList<OLink>();
    do {
      addProperty(refentry,ees,event.asStartProperty().getName(),jsr);
      event=jsr.nextEvent();
    }
 while (!event.isEndObject());
    rt.entity=toOEntity(ees,refentry.properties,refentry.links);
  }
 else {
    throw new IllegalArgumentException("String_Node_Str");
  }
  ensureEndProperty(jsr.nextEvent());
  return rt;
}