title: Cannot cast parameter REPORT_DATA_SOURCE to net.sf.jasperreports.engine.data.JsonDataSource
body: <p>I have a Jasper report with a JSON datasource. 
  My Data Source Expression is:</p>
  
  <pre><code>(net.sf.jasperreports.engine.data.JsonDataSource)$P{REPORT_DATA_SOURCE}).subDataSource()
  </code></pre>
  
  <p>When I try to see the preview, I get this error:</p>
  
  <pre><code>net.sf.jasperreports.engine.JRException: net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression for source text: ((net.sf.jasperreports.engine.data.JsonDataSource)$P{REPORT_DATA_SOURCE}).subDataSource()
  [...]
  Caused by: net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression for source text: ((net.sf.jasperreports.engine.data.JsonDataSource)$P{REPORT_DATA_SOURCE}).subDataSource()
  [...]
  Caused by: java.lang.ClassCastException: net.sf.jasperreports.engine.fill.SortedDataSource cannot be cast to net.sf.jasperreports.engine.data.JsonDataSource
  </code></pre>
  
  <p>This is my Json file:</p>
  
  <pre><code>[
      {
          "appointmentId": 150,
          "startDate": 1503039600000,
          "patientId": 405,
          "patientIdentification": {
              "id": 1,
              "name": "40295204D"
          },
          "episodeId": 500349,
          "chn": "500046",
          "patientName": "Cristina Mayo Saez",
          "centerName": "HOSPITAL CLINICA BENIDORM",
          "serviceName": "ENDOCRINOLOGIA",
          "benefitId": 28,
          "benefitName": "CONSULTA",
          "schedule": {
              "id": 26,
              "name": "Nutrición"
          },
          "professionalName": "b",
          "insurance": {
              "id": 1387,
              "name": "PRIVADOS"
          },
          "collective": {
              "id": 26,
              "name": "Privados"
          },
          "typeId": 1,
          "guarantorStatus": {
              "id": 1,
              "name": "Solicitada"
          },
          "reason": {},
          "appoState": {
              "id": 3,
              "name": "Atendiendo"
          },
          "appoType": {
              "id": 1,
              "name": "Simple"
          },
          "professionalCreationName": "Marisol Fernández Lleras",
          "creationDate": 1503037036812
      }, {
          "appointmentId": 151,
          "startDate": 1503039600000,
          "patientId": 416,
          "patientIdentification": {
              "id": 1,
              "name": "18466341D"
          },
          "episodeId": 500350,
          "chn": "500057",
          "patientName": "Gloria Sena Arrayán",
          "centerName": "HOSPITAL CLINICA BENIDORM",
          "serviceName": "NEUROLOGIA",
          "benefitId": 45,
          "benefitName": "CONSULTA",
          "schedule": {
              "id": 30,
              "name": "Neurologia"
          },
          "professionalName": "b",
          "insurance": {
              "id": 1396,
              "name": "AGRUPACION MUTUAL ASEGURADORA (AMA)"
          },
          "collective": {
              "id": 30,
              "name": "Trafico"
          },
          "typeId": 1,
          "guarantorStatus": {
              "id": 1,
              "name": "Solicitada"
          },
          "reason": {},
          "appoState": {
              "id": 4,
              "name": "Atendido"
          },
          "appoType": {
              "id": 1,
              "name": "Simple"
          },
          "professionalCreationName": "Marisol Fernández Lleras",
          "creationDate": 1503038643436
      }, {
          "appointmentId": 153,
          "startDate": 1503061200000,
          "patientId": 417,
          "patientIdentification": {
              "id": 1,
              "name": "85471254B"
          },
          "episodeId": 500358,
          "chn": "500058",
          "patientName": "Aida Mascaró",
          "centerName": "HOSPITAL CLINICA BENIDORM",
          "serviceName": "NEUROLOGIA",
          "benefitId": 45,
          "benefitName": "CONSULTA",
          "schedule": {
              "id": 30,
              "name": "Neurologia"
          },
          "professionalName": "a",
          "insurance": {
              "id": 1387,
              "name": "PRIVADOS"
          },
          "collective": {
              "id": 26,
              "name": "Privados"
          },
          "typeId": 1,
          "guarantorStatus": {
              "id": 1,
              "name": "Solicitada"
          },
          "reason": {
              "id": 3,
              "name": "Accidente de trabajo"
          },
          "appoState": {
              "id": 3,
              "name": "Atendiendo"
          },
          "appoType": {
              "id": 1,
              "name": "Simple"
          },
          "professionalCreationName": "Marisol Fernández Lleras",
          "creationDate": 1503057809579
      }, {
          "appointmentId": 154,
          "startDate": 1503298800000,
          "patientId": 389,
          "patientIdentification": {
              "id": 1,
              "name": "23234567J"
          },
          "episodeId": 500359,
          "chn": "500030",
          "patientName": "maria perez perez",
          "centerName": "HOSPITAL CLINICA BENIDORM",
          "serviceName": "ENDOCRINOLOGIA",
          "benefitId": 28,
          "benefitName": "CONSULTA",
          "schedule": {
              "id": 26,
              "name": "Nutrición"
          },
          "professionalName": "a",
          "insurance": {
              "id": 1387,
              "name": "PRIVADOS"
          },
          "collective": {
              "id": 26,
              "name": "Privados"
          },
          "typeId": 1,
          "guarantorStatus": {
              "id": 1,
              "name": "Solicitada"
          },
          "reason": {
              "id": 2,
              "name": "Accidente causal"
          },
          "appoState": {
              "id": 3,
              "name": "Atendiendo"
          },
          "appoType": {
              "id": 1,
              "name": "Simple"
          },
          "professionalCreationName": "Marisol Fernández Lleras",
          "creationDate": 1503297627789
      }, {
          "appointmentId": 142,
          "startDate": 1503298800000,
          "patientId": 412,
          "episodeId": 500337,
          "chn": "500053",
          "patientName": "Mariano López Pastor",
          "centerName": "HOSPITAL CLINICA BENIDORM",
          "serviceName": "NEUROLOGIA",
          "benefitId": 45,
          "benefitName": "CONSULTA",
          "schedule": {
              "id": 30,
              "name": "Neurologia"
          },
          "professionalName": "b",
          "insurance": {
              "id": 1387,
              "name": "PRIVADOS"
          },
          "collective": {
              "id": 25,
              "name": "Privados todos"
          },
          "typeId": 1,
          "guarantorStatus": {
              "id": 7,
              "name": "No requerida"
          },
          "reason": {},
          "appoState": {
              "id": 4,
              "name": "Atendido"
          },
          "appoType": {
              "id": 1,
              "name": "Simple"
          },
          "professionalCreationName": "Marisol Fernández Lleras",
          "creationDate": 1502877885393
      }, {
          "appointmentId": 148,
          "startDate": 1503300600000,
          "patientId": 415,
          "episodeId": 500346,
          "chn": "500056",
          "patientName": "Pastora Meseguer Carrión",
          "centerName": "HOSPITAL CLINICA BENIDORM",
          "serviceName": "NEUROLOGIA",
          "benefitId": 45,
          "benefitName": "CONSULTA",
          "schedule": {
              "id": 30,
              "name": "Neurologia"
          },
          "professionalName": "a",
          "insurance": {
              "id": 1387,
              "name": "PRIVADOS"
          },
          "collective": {
              "id": 25,
              "name": "Privados todos"
          },
          "typeId": 1,
          "guarantorStatus": {
              "id": 7,
              "name": "No requerida"
          },
          "reason": {},
          "appoState": {
              "id": 4,
              "name": "Atendido"
          },
          "appoType": {
              "id": 1,
              "name": "Simple"
          },
          "professionalCreationName": "Marisol Fernández Lleras",
          "creationDate": 1502885871664
      }, {
          "appointmentId": 152,
          "startDate": 1503302400000,
          "patientId": 416,
          "patientIdentification": {
              "id": 1,
              "name": "18466341D"
          },
          "episodeId": 500351,
          "chn": "500057",
          "patientName": "Gloria Sena Arrayán",
          "centerName": "HOSPITAL CLINICA BENIDORM",
          "serviceName": "NEUROLOGIA",
          "benefitId": 46,
          "benefitName": "REVISION",
          "schedule": {
              "id": 30,
              "name": "Neurologia"
          },
          "professionalName": "a",
          "insurance": {
              "id": 1396,
              "name": "AGRUPACION MUTUAL ASEGURADORA (AMA)"
          },
          "collective": {
              "id": 30,
              "name": "Trafico"
          },
          "typeId": 1,
          "guarantorStatus": {
              "id": 1,
              "name": "Solicitada"
          },
          "reason": {},
          "appoState": {
              "id": 4,
              "name": "Atendido"
          },
          "appoType": {
              "id": 1,
              "name": "Simple"
          },
          "professionalCreationName": "Marisol Fernández Lleras",
          "creationDate": 1503038674027
      }, {
          "appointmentId": 156,
          "startDate": 1503302400000,
          "patientId": 389,
          "patientIdentification": {
              "id": 1,
              "name": "23234567J"
          },
          "episodeId": 500361,
          "chn": "500030",
          "patientName": "maria perez perez",
          "centerName": "HOSPITAL CLINICA BENIDORM",
          "serviceName": "PEDIATRIA",
          "benefitId": 3,
          "benefitName": "CONSULTA",
          "schedule": {
              "id": 29,
              "name": "Dra. De la Vega"
          },
          "professionalName": "a",
          "insurance": {
              "id": 1387,
              "name": "PRIVADOS"
          },
          "collective": {
              "id": 26,
              "name": "Privados"
          },
          "typeId": 1,
          "observations": "obs",
          "guarantorStatus": {
              "id": 1,
              "name": "Solicitada"
          },
          "reason": {
              "id": 2,
              "name": "Accidente causal"
          },
          "appoState": {
              "id": 3,
              "name": "Atendiendo"
          },
          "appoType": {
              "id": 1,
              "name": "Simple"
          },
          "professionalCreationName": "Marisol Fernández Lleras",
          "creationDate": 1503300374408
      }, {
          "appointmentId": 158,
          "startDate": 1503303300000,
          "patientId": 408,
          "patientIdentification": {
              "id": 2,
              "name": "123123"
          },
          "episodeId": 500363,
          "chn": "500049",
          "patientName": "ANA CARO MARTINEZ",
          "centerName": "HOSPITAL CLINICA BENIDORM",
          "serviceName": "PEDIATRIA",
          "benefitId": 3,
          "benefitName": "CONSULTA",
          "schedule": {
              "id": 29,
              "name": "Dra. De la Vega"
          },
          "professionalName": "b",
          "insurance": {
              "id": 1749,
              "name": "ADMIRAL INSURANCE"
          },
          "collective": {
              "id": 13,
              "name": "Trafico"
          },
          "typeId": 1,
          "observations": "dewdfe",
          "guarantorStatus": {
              "id": 1,
              "name": "Solicitada"
          },
          "reason": {
              "id": 2,
              "name": "Accidente causal"
          },
          "appoState": {
              "id": 3,
              "name": "Atendiendo"
          },
          "appoType": {
              "id": 1,
              "name": "Simple"
          },
          "professionalCreationName": "Marisol Fernández Lleras",
          "creationDate": 1503301904789
      }, {
          "appointmentId": 159,
          "startDate": 1503304200000,
          "patientId": 48,
          "patientIdentification": {
              "id": 5,
              "name": "1425871"
          },
          "episodeId": 500364,
          "chn": "186",
          "patientName": "cayetana jimenez brotons",
          "centerName": "HOSPITAL CLINICA BENIDORM",
          "serviceName": "PEDIATRIA",
          "benefitId": 4,
          "benefitName": "REVISION",
          "schedule": {
              "id": 29,
              "name": "Dra. De la Vega"
          },
          "professionalName": "b",
          "insurance": {
              "id": 1390,
              "name": "MAPFRE ESPAÑA, CIA. DE SEGUROS Y REASEGUROS S.A."
          },
          "collective": {
              "id": 4,
              "name": "MAPFRE SALUD"
          },
          "typeId": 1,
          "observations": "dfd",
          "guarantorStatus": {
              "id": 7,
              "name": "No requerida"
          },
          "reason": {
              "id": 2,
              "name": "Accidente causal"
          },
          "appoState": {
              "id": 3,
              "name": "Atendiendo"
          },
          "appoType": {
              "id": 1,
              "name": "Simple"
          },
          "professionalCreationName": "Marisol Fernández Lleras",
          "creationDate": 1503301999486
      }
  ]
  </code></pre>
  
  <p>It seems that I can't cast the <code>SortedDataSource</code> into a <code>JsonDataSource</code>. Can anyone help me with this? Thanks.</p>