Remove the use of CHECK_NOTNULL.

Change-Id: I6aa7dd5b44bd42807118b4b0b565d6fa8b227371
diff --git a/internal/ceres/gradient_problem.cc b/internal/ceres/gradient_problem.cc
index dc8ac72..bb11adf 100644
--- a/internal/ceres/gradient_problem.cc
+++ b/internal/ceres/gradient_problem.cc
@@ -37,24 +37,35 @@
 namespace ceres {
 
 GradientProblem::GradientProblem(FirstOrderFunction* function)
-    : function_(CHECK_NOTNULL(function)),
+    : function_(function),
       manifold_(new EuclideanManifold(function_->NumParameters())),
-      scratch_(new double[function_->NumParameters()]) {}
+      scratch_(new double[function_->NumParameters()]) {
+  CHECK(function != nullptr);
+}
 
 GradientProblem::GradientProblem(FirstOrderFunction* function,
                                  LocalParameterization* parameterization)
-    : function_(CHECK_NOTNULL(function)),
-      parameterization_(CHECK_NOTNULL(parameterization)),
-      manifold_(new internal::ManifoldAdapter(parameterization_.get())),
+    : function_(function),
+      parameterization_(parameterization),
       scratch_(new double[function_->NumParameters()]) {
+  CHECK(function != nullptr);
+  if (parameterization != nullptr) {
+    manifold_.reset(new internal::ManifoldAdapter(parameterization_.get()));
+  } else {
+    manifold_.reset(new EuclideanManifold(function_->NumParameters()));
+  }
   CHECK_EQ(function_->NumParameters(), manifold_->AmbientSize());
 }
 
 GradientProblem::GradientProblem(FirstOrderFunction* function,
                                  Manifold* manifold)
-    : function_(CHECK_NOTNULL(function)),
-      manifold_(CHECK_NOTNULL(manifold)),
+    : function_(function),
+      manifold_(manifold),
       scratch_(new double[function_->NumParameters()]) {
+  CHECK(function != nullptr);
+  if (manifold == nullptr) {
+    manifold_.reset(new EuclideanManifold(function_->NumParameters()));
+  }
   CHECK_EQ(function_->NumParameters(), manifold_->AmbientSize());
 }
 
diff --git a/internal/ceres/manifold_adapter.h b/internal/ceres/manifold_adapter.h
index 49d7a0a..d19aed8 100644
--- a/internal/ceres/manifold_adapter.h
+++ b/internal/ceres/manifold_adapter.h
@@ -11,7 +11,10 @@
 class ManifoldAdapter : public Manifold {
  public:
   ManifoldAdapter(const LocalParameterization* local_parameterization)
-      : local_parameterization_(CHECK_NOTNULL(local_parameterization)) {}
+      : local_parameterization_(local_parameterization) {
+    CHECK(local_parameterization != nullptr);
+  }
+
   virtual ~ManifoldAdapter() {}
 
   bool Plus(const double* x,