Add java options to plugin proto and rollback the r450
diff --git a/src/google/protobuf/compiler/cpp/cpp_message.cc b/src/google/protobuf/compiler/cpp/cpp_message.cc
index 85f85a5..1ea4f13 100644
--- a/src/google/protobuf/compiler/cpp/cpp_message.cc
+++ b/src/google/protobuf/compiler/cpp/cpp_message.cc
@@ -857,14 +857,12 @@
 void MessageGenerator::
 GenerateShutdownCode(io::Printer* printer) {
   printer->Print(
-    "delete $classname$::default_instance_;\n"
-    "$classname$::default_instance_ = NULL;\n",
+    "delete $classname$::default_instance_;\n",
     "classname", classname_);
 
   if (HasDescriptorMethods(descriptor_->file())) {
     printer->Print(
-      "delete $classname$_reflection_;\n"
-      "$classname$_reflection_ = NULL;\n",
+      "delete $classname$_reflection_;\n",
       "classname", classname_);
   }
 
diff --git a/src/google/protobuf/compiler/cpp/cpp_string_field.cc b/src/google/protobuf/compiler/cpp/cpp_string_field.cc
index 81d0654..9c0911a 100644
--- a/src/google/protobuf/compiler/cpp/cpp_string_field.cc
+++ b/src/google/protobuf/compiler/cpp/cpp_string_field.cc
@@ -251,8 +251,7 @@
 GenerateShutdownCode(io::Printer* printer) const {
   if (!descriptor_->default_value_string().empty()) {
     printer->Print(variables_,
-      "delete $classname$::$default_variable$;\n"
-      "$classname$::$default_variable$ = NULL;\n");
+      "delete $classname$::$default_variable$;\n");
   }
 }
 
diff --git a/src/google/protobuf/compiler/plugin.pb.cc b/src/google/protobuf/compiler/plugin.pb.cc
index 874bf02..ee14dcf 100644
--- a/src/google/protobuf/compiler/plugin.pb.cc
+++ b/src/google/protobuf/compiler/plugin.pb.cc
@@ -115,17 +115,11 @@
 
 void protobuf_ShutdownFile_google_2fprotobuf_2fcompiler_2fplugin_2eproto() {
   delete CodeGeneratorRequest::default_instance_;
-  CodeGeneratorRequest::default_instance_ = NULL;
   delete CodeGeneratorRequest_reflection_;
-  CodeGeneratorRequest_reflection_ = NULL;
   delete CodeGeneratorResponse::default_instance_;
-  CodeGeneratorResponse::default_instance_ = NULL;
   delete CodeGeneratorResponse_reflection_;
-  CodeGeneratorResponse_reflection_ = NULL;
   delete CodeGeneratorResponse_File::default_instance_;
-  CodeGeneratorResponse_File::default_instance_ = NULL;
   delete CodeGeneratorResponse_File_reflection_;
-  CodeGeneratorResponse_File_reflection_ = NULL;
 }
 
 void protobuf_AddDesc_google_2fprotobuf_2fcompiler_2fplugin_2eproto() {
@@ -145,7 +139,9 @@
     "atorResponse\022\r\n\005error\030\001 \001(\t\022B\n\004file\030\017 \003("
     "\01324.google.protobuf.compiler.CodeGenerat"
     "orResponse.File\032>\n\004File\022\014\n\004name\030\001 \001(\t\022\027\n"
-    "\017insertion_point\030\002 \001(\t\022\017\n\007content\030\017 \001(\t", 399);
+    "\017insertion_point\030\002 \001(\t\022\017\n\007content\030\017 \001(\tB"
+    ",\n\034com.google.protobuf.compilerB\014PluginP"
+    "rotos", 445);
   ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
     "google/protobuf/compiler/plugin.proto", &protobuf_RegisterTypes);
   CodeGeneratorRequest::default_instance_ = new CodeGeneratorRequest();
diff --git a/src/google/protobuf/compiler/plugin.proto b/src/google/protobuf/compiler/plugin.proto
index 651ed10..77b888f 100644
--- a/src/google/protobuf/compiler/plugin.proto
+++ b/src/google/protobuf/compiler/plugin.proto
@@ -45,6 +45,8 @@
 // flag "--${NAME}_out" is passed to protoc.
 
 package google.protobuf.compiler;
+option java_package = "com.google.protobuf.compiler";
+option java_outer_classname = "PluginProtos";
 
 import "google/protobuf/descriptor.proto";