### Eclipse Workspace Patch 1.0
#P goldencode-fwd
diff --git src/com/goldencode/p2j/oo/lang/ProError.java src/com/goldencode/p2j/oo/lang/ProError.java
index 47047d4..2355a35 100644
--- src/com/goldencode/p2j/oo/lang/ProError.java
+++ src/com/goldencode/p2j/oo/lang/ProError.java
@@ -126,6 +126,32 @@
    }
 
    /**
+    * Explicit constructor used by sub-classes.
+    * 
+    * @param    _msg
+    *           The message.
+    * @param    _num
+    *           The message number.
+    */
+   protected ProError (character _msg, integer _num)
+   {
+      addMessage(_msg, _num);
+   }
+   
+   /**
+    * Explicit constructor used by sub-classes.
+    * 
+    * @param    _msg
+    *           The message.
+    * @param    _num
+    *           The message number.
+    */
+   protected ProError (String _msg, int _num)
+   {
+      addMessage(new character(_msg), new integer(_num));
+   }
+   
+   /**
     * The 'execute' method.  No-op, but it must exist.
     */
    public void __lang_ProError_execute__()
diff --git src/com/goldencode/p2j/oo/lang/SoapFaultError.java src/com/goldencode/p2j/oo/lang/SoapFaultError.java
index 14d4fa9..58d1d20 100644
--- src/com/goldencode/p2j/oo/lang/SoapFaultError.java
+++ src/com/goldencode/p2j/oo/lang/SoapFaultError.java
@@ -66,7 +66,6 @@
 package com.goldencode.p2j.oo.lang;
 
 import com.goldencode.p2j.util.*;
-import com.goldencode.p2j.oo.lang.*;
 
 import static com.goldencode.p2j.util.BlockManager.*;
 import static com.goldencode.p2j.report.ReportConstants.*;
@@ -81,25 +80,11 @@
 public final class SoapFaultError
 extends com.goldencode.p2j.oo.lang.SysError
 {
-   private handle soapFault = UndoableFactory.handle();
+   private handle soapFault = TypeFactory.handle();
 
-   public void __lang_SoapFaultError_execute__()
+   protected SoapFaultError()
    {
-      externalProcedure(SoapFaultError.this, new Block((Body) () -> 
-      {
-         {
-         }
-      }));
-   }
-
-   @LegacySignature(type = Type.CONSTRUCTOR)
-   @LegacyResourceSupport(supportLvl = CVT_LVL_FULL|RT_LVL_STUB)
-   public void __lang_SoapFaultError_constructor__()
-   {
-      internalProcedure(this, "__lang_SoapFaultError_constructor__", new Block((Body) () -> 
-      {
-         __lang_SysError_constructor__();
-      }));
+      super();
    }
 
    @LegacySignature(type = Type.GETTER, name = "SoapFault")
diff --git src/com/goldencode/p2j/oo/lang/SysError.java src/com/goldencode/p2j/oo/lang/SysError.java
index e0ebd92..d4dd36d 100644
--- src/com/goldencode/p2j/oo/lang/SysError.java
+++ src/com/goldencode/p2j/oo/lang/SysError.java
@@ -68,11 +68,8 @@
 package com.goldencode.p2j.oo.lang;
 
 import static com.goldencode.p2j.report.ReportConstants.*;
-import static com.goldencode.p2j.util.BlockManager.externalProcedure;
-import static com.goldencode.p2j.util.BlockManager.internalProcedure;
 
 import com.goldencode.p2j.util.*;
-import com.goldencode.p2j.util.InternalEntry.Type;
 
 /**
  * Implementation of the Progress.Lang.SysError builtin class.
@@ -83,27 +80,11 @@
 extends ProError
 {
    /**
-    * The 'execute' method.  No-op, but it must exist.
+    * Implicit constructor used by sub-classes.
     */
-   public void __lang_SysError_execute__()
+   protected SysError()
    {
-      externalProcedure(this, new Block((Body) () -> 
-      {
-      }));
-   }
-
-   /**
-    * Implicit, no parameter, method associated with the implicit legacy constructor for the
-    * <code>Progress.Lang.SysError</code> class.
-    */
-   @LegacySignature(type = Type.CONSTRUCTOR)
-   @LegacyResourceSupport(supportLvl = CVT_LVL_FULL|RT_LVL_BASIC)
-   public void __lang_SysError_constructor__()
-   {
-      internalProcedure(this, "__lang_SysError_constructor__", new Block((Body) () -> 
-      {
-         __lang_ProError_constructor__();
-      }));
+      
    }
    
    /**
@@ -115,21 +96,23 @@
     * @param    _num
     *           The message number.
     */
-   @LegacySignature(type = Type.CONSTRUCTOR, parameters = 
+   protected SysError (character _msg, integer _num)
    {
-      @LegacyParameter(name = "msg",  type = "CHARACTER", mode = "INPUT"),
-      @LegacyParameter(name = "num",  type = "INTEGER", mode = "INPUT"),
-   })
-   @LegacyResourceSupport(supportLvl = CVT_LVL_FULL|RT_LVL_FULL)
-   public void __lang_SysError_constructor__(character _msg, integer _num)
+      this(_msg.getValue(), _num.intValue());
+   }
+   
+   /**
+    * Explicit method associated with a legacy constructor for the
+    * <code>Progress.Lang.SysError</code> class.
+    * 
+    * @param    _msg
+    *           The message.
+    * @param    _num
+    *           The message number.
+    */
+   protected SysError (String _msg, int _num)
    {
-      character msg = TypeFactory.initInput(_msg);
-      integer num = TypeFactory.initInput(_num);
-      internalProcedure(this, "__lang_SysError_constructor__", new Block((Body) () -> 
-      {
-         msg.assign(ErrorManager.buildErrorText(num.intValue(), msg.getValue(), false, false));
-         __lang_ProError_constructor__(msg, num);
-      }));
+      super(ErrorManager.buildErrorText(_num, _msg, false, false), _num);
    }
    
    /**
@@ -142,7 +125,7 @@
     */
    public static object<? extends SysError> newInstance(character msg, integer num)
    {
-      return ObjectOps.newInstance(SysError.class, "II", msg, num);
+      return newInstance(msg.getValue(), num.intValue());
    }
    
    /**
@@ -155,7 +138,12 @@
     */
    public static object<? extends SysError> newInstance(String msg, int num)
    {
-      return ObjectOps.newInstance(SysError.class, "II", msg, num);
+      return new object(new SysError(msg, num));
    }
 
+   @Override
+   public boolean isTracked()
+   {
+      return false;
+   }
 }
