title: Position of @type in JSON object causes error
body: <p>Given the following class:</p>
  
  <pre><code>@XmlSeeAlso({A.class, B.class})
  @XmlDiscriminatorNode("@type")
  public abstract class Base implements Serializable {
  }
  </code></pre>
  
  <p>Let <code>A</code> (and analogous <code>B</code>) be:</p>
  
  <pre><code>@XmlDiscriminatorValue("A")
  public class A extends Base {
      private String foo;
      // constructor, getter, setter
  }
  </code></pre>
  
  <p>Wrapping a <code>List&lt;Base&gt;</code> containing objects of both types will lead to this sample JSON:</p>
  
  <pre><code>{
    "list": [
      {
        "@type": "A",
        "bar": 123
      },
      {
        "@type": "A",
        "bar": 789
      },
      {
        "@type": "B",
        "foo": "sddadad"
      },
      {
        "@type": "B",
        "foo": "ttf4eg4gf sd"
      },
      {
        "@type": "A",
        "bar": 465
      }
    ]
  }
  </code></pre>
  
  <p>Now to the part where my question kicks in: when the <code>@type</code> property is moved off of the "first" position, the unmarshal fails:</p>
  
  <pre><code>{
      "bar" : 123,
      "@type" : "A"
  }
  </code></pre>
  
  <p><kbd><code>Exception Description: Missing class indicator field from database row [UnmarshalRecordImpl()].</code></kbd></p>
  
  <p>Is this an expected behaviour? Do i have to make sure the <code>@type</code> declaration is "first" all the time?</p>
  
  <p>I'm using the EclipseLink 2.5.1.v20130619-ffd088c nightly build.</p>