Don't push onto the array because this could be a non-empty array that was passed in to store the results. Only create a new cartesian if one doesn't exist.

```javascript
var resultPoint = result[0];
if (!defined(resultPoint)) {
    resultPoint = result[i] = new Cartesian3();
}
Cartesian3.clone(point, resultPoint);
```

It would be even better if you didn't need the clone but use the `resultPoint` as the result parameter when you are calculating it.