Refactor IsInitialized to match Java version
diff --git a/src/ProtocolBuffers/GeneratedMessage.cs b/src/ProtocolBuffers/GeneratedMessage.cs
index 7b4ae20..d874759 100644
--- a/src/ProtocolBuffers/GeneratedMessage.cs
+++ b/src/ProtocolBuffers/GeneratedMessage.cs
@@ -84,20 +84,14 @@
 
     public override bool IsInitialized {
       get {
-       /* if (!DescriptorForType.HasRequiredFields) {
-          return true;
-        }*/
-        // Check that all required fields are present.
         foreach (FieldDescriptor field in DescriptorForType.Fields) {
+          // Check that all required fields are present.
           if (field.IsRequired && !HasField(field)) {
             return false;
           }
-        }
-
-        // Check that embedded messages are initialized.
-        // This code is similar to that in AbstractMessage, but we don't
-        // fetch all the field values - just the ones we need to.
-        foreach (FieldDescriptor field in DescriptorForType.Fields) {
+          // Check that embedded messages are initialized.
+          // This code is similar to that in AbstractMessage, but we don't
+          // fetch all the field values - just the ones we need to.
           if (field.MappedType == MappedType.Message) {
             if (field.IsRepeated) {
               // We know it's an IList<T>, but not the exact type - so