Ellipsoid { @SuppressWarnings("unchecked") public void initSampling(final OpEnvironment ops) { isotropicSampling = (BinaryFunctionOp) Functions.binary(ops, EllipsoidPoints.class, List.class, new double[] { a, b, c }, 0L); } Ellipsoid(final double a, final double b, final double c);  Ellipsoid(final Vector3dc u, final Vector3dc v, final Vector3dc w); double getA(); void setA(final double a); double getB(); void setB(final double b); double getC(); void setC(final double c); Vector3d getCentroid(); void setCentroid(final Vector3dc centroid); Matrix4d getOrientation(); void setOrientation(final Matrix3dc semiAxes); List<Vector3d> getSemiAxes(); double getVolume(); @SuppressWarnings("unchecked") void initSampling(final OpEnvironment ops); List<Vector3d> samplePoints(final long n); void setSemiAxes(final Vector3dc u, final Vector3dc v,
		final Vector3dc w);  }
@Test(expected = NullPointerException.class) public void testInitSamplingThrowsNPEIfOpsNull() { final Ellipsoid ellipsoid = new Ellipsoid(1, 2, 3); ellipsoid.initSampling(null); }