_data2 = getExtendedCoupledPDEDataBundle(forward, data.getVol2(), data.getLambda21(), data.getLambda12(), 1.0 - data.getP0(), data.getBeta2(), localVolOverlay);
}
PDEFullResults1D[] solve(final PDEGrid1D grid) {
final BoundaryCondition lower = new NeumannBoundaryCondition(0.0, grid.getSpaceNode(0), true);
//BoundaryCondition lower = new DirichletBoundaryCondition(0.0, 0.0);//TODO for beta < 0.5 zero is accessible and thus there will be non-zero
//density there
final BoundaryCondition upper = new DirichletBoundaryCondition(0.0, grid.getSpaceNode(grid.getNumSpaceNodes() - 1));
final ExtendedCoupledFiniteDifference solver = new ExtendedCoupledFiniteDifference(THETA);
final PDEResults1D[] res = solver.solve(_data1, _data2, grid, lower, upper, lower, upper, null);
//handle this with generics
final PDEFullResults1D res1 = (PDEFullResults1D) res[0];