feature: Adding unset method for messages and elements

This method will clear the data for the element or message as well
as zeroize the masking bits appropriately.

Change-Id: I7e93f3605558b22b5850cd4912d705b2cd268f8d
diff --git a/org.eclipse.osee.ote.core.test/src/org/eclipse/osee/ote/message/data/MemoryResourceTest.java b/org.eclipse.osee.ote.core.test/src/org/eclipse/osee/ote/message/data/MemoryResourceTest.java
index 468c390..03617f9 100644
--- a/org.eclipse.osee.ote.core.test/src/org/eclipse/osee/ote/message/data/MemoryResourceTest.java
+++ b/org.eclipse.osee.ote.core.test/src/org/eclipse/osee/ote/message/data/MemoryResourceTest.java
@@ -2,6 +2,7 @@
 
 import java.math.BigInteger;
 import java.nio.ByteBuffer;
+
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -110,7 +111,6 @@
       mem.setLong(-100, 0, 0, 63);
       val = mem.getUnsigned64(0, 0, 63);
       hex = val.toString(16).toUpperCase();
-      System.out.println(hex);
       String expected = "FFFFFFFFFFFFFF9C";
       Assert.assertEquals(expected, hex);
    }
@@ -228,7 +228,122 @@
       for (int i = 0; i < mem.getLength(); i++) {
          sb.append(String.format("%02x ", mem.getMask()[i]));
       }
-      expected = "00 00 00 00 ff ff ff ff ff ff ff 00 00 00 00 00 ff ff ff ff ff ff ff ff ";
+      expected = "00 00 00 00 ff ff ff ff ff ff ff 00 00 00 00 00 ff ff ff ff ff ff 00 00 ";
+      Assert.assertEquals(expected, sb.toString());
+      sb.setLength(0);
+      
+      // test for element less than a byte 
+      mem = new MemoryResource(new byte[24], 0, 1);
+      
+      mem.setInt(2, 0, 2, 3);
+      for (int i = 0; i < mem.getLength(); i++) {
+         sb.append(String.format("%02x ", mem.getMask()[i]));
+      }
+      expected = "30 ";
+      Assert.assertEquals(expected, sb.toString());
+      sb.setLength(0);
+      
+      mem.setInt(2, 0, 4, 6);
+      for (int i = 0; i < mem.getLength(); i++) {
+         sb.append(String.format("%02x ", mem.getMask()[i]));
+      }
+      expected = "3e ";
+      Assert.assertEquals(expected, sb.toString());
+      sb.setLength(0);
+      
+      
+      // Test element partially across multiple bytes
+      mem = new MemoryResource(new byte[24], 0, 4);
+      
+      mem.setInt(2, 0, 7, 16);
+      for (int i = 0; i < mem.getLength(); i++) {
+         sb.append(String.format("%02x ", mem.getMask()[i]));
+      }
+      expected = "01 ff 80 00 ";
+      Assert.assertEquals(expected, sb.toString());
+      sb.setLength(0);
+   }
+   
+   @Test
+   public void testElementMaskZeroize() {
+      StringBuilder sb = new StringBuilder();
+      MemoryResource mem = new MemoryResource(new byte[24], 0, 24);
+      String expected;
+
+      // setup
+      mem.setInt(0x22334455, 13, 0, 31);
+      for (int i = 0; i < mem.getLength(); i++) {
+         sb.append(String.format("%02x ", mem.getMask()[i]));
+      }
+      expected = "00 00 00 00 00 00 00 00 00 00 00 00 00 ff ff ff ff 00 00 00 00 00 00 00 ";
+      Assert.assertEquals(expected, sb.toString());
+      sb.setLength(0);
+      
+      mem.zeroizeMask(13, 2, 2);
+      for (int i = 0; i < mem.getLength(); i++) {
+         sb.append(String.format("%02x ", mem.getMask()[i]));
+      }
+      expected = "00 00 00 00 00 00 00 00 00 00 00 00 00 df ff ff ff 00 00 00 00 00 00 00 ";
+      Assert.assertEquals(expected, sb.toString());
+      sb.setLength(0);
+      
+      mem.zeroizeMask(13, 7, 16);
+      for (int i = 0; i < mem.getLength(); i++) {
+         sb.append(String.format("%02x ", mem.getMask()[i]));
+      }
+      expected = "00 00 00 00 00 00 00 00 00 00 00 00 00 de 00 7f ff 00 00 00 00 00 00 00 ";
+      Assert.assertEquals(expected, sb.toString());
+      sb.setLength(0);
+      
+      // add more mask for next part
+      mem.setInt(0x22334455, 13, 0, 31);
+      for (int i = 0; i < mem.getLength(); i++) {
+         sb.append(String.format("%02x ", mem.getMask()[i]));
+      }
+      expected = "00 00 00 00 00 00 00 00 00 00 00 00 00 ff ff ff ff 00 00 00 00 00 00 00 ";
+      Assert.assertEquals(expected, sb.toString());
+      sb.setLength(0);
+      
+      mem.zeroizeMask(14, 0, 2);
+      for (int i = 0; i < mem.getLength(); i++) {
+         sb.append(String.format("%02x ", mem.getMask()[i]));
+      }
+      expected = "00 00 00 00 00 00 00 00 00 00 00 00 00 ff 1f ff ff 00 00 00 00 00 00 00 ";
+      Assert.assertEquals(expected, sb.toString());
+      sb.setLength(0);
+      
+      mem.zeroizeMask(15, 0, 15);
+      for (int i = 0; i < mem.getLength(); i++) {
+         sb.append(String.format("%02x ", mem.getMask()[i]));
+      }
+      expected = "00 00 00 00 00 00 00 00 00 00 00 00 00 ff 1f 00 00 00 00 00 00 00 00 00 ";
+      Assert.assertEquals(expected, sb.toString());
+      sb.setLength(0);
+      
+   }
+   
+   @Test
+   public void testWholeMaskZeroize() {
+      StringBuilder sb = new StringBuilder();
+      MemoryResource mem = new MemoryResource(new byte[10], 0, 10);
+      String expected;
+
+      // setup
+      mem.setASCIIString("01", 0);
+      mem.setInt(0x0, 4, 3, 12);
+      mem.setInt(0x0, 7, 5, 5);
+      for (int i = 0; i < mem.getLength(); i++) {
+         sb.append(String.format("%02x ", mem.getMask()[i]));
+      }
+      expected = "ff ff 00 00 1f f8 00 04 00 00 ";
+      Assert.assertEquals(expected, sb.toString());
+      sb.setLength(0);
+      
+      mem.zeroizeMask();
+      for (int i = 0; i < mem.getLength(); i++) {
+         sb.append(String.format("%02x ", mem.getMask()[i]));
+      }
+      expected = "00 00 00 00 00 00 00 00 00 00 ";
       Assert.assertEquals(expected, sb.toString());
       sb.setLength(0);
    }
diff --git a/org.eclipse.osee.ote.core.test/src/org/eclipse/osee/ote/message/elements/IntegerElementTest.java b/org.eclipse.osee.ote.core.test/src/org/eclipse/osee/ote/message/elements/IntegerElementTest.java
index aae1865..9709287 100644
--- a/org.eclipse.osee.ote.core.test/src/org/eclipse/osee/ote/message/elements/IntegerElementTest.java
+++ b/org.eclipse.osee.ote.core.test/src/org/eclipse/osee/ote/message/elements/IntegerElementTest.java
@@ -14,9 +14,9 @@
 package org.eclipse.osee.ote.message.elements;
 
 import java.util.Random;
+
 import org.eclipse.osee.ote.message.data.HeaderData;
 import org.eclipse.osee.ote.message.data.MemoryResource;
-import org.eclipse.osee.ote.message.elements.IntegerElement;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -36,26 +36,6 @@
    }
 
    @Test
-   public void test3BitInts() {
-      createTest(3);
-   }
-
-   @Test
-   public void test4BitInts() {
-      createTest(4);
-   }
-
-   @Test
-   public void test5BitInts() {
-      createTest(5);
-   }
-
-   @Test
-   public void test6BitInts() {
-      createTest(6);
-   }
-
-   @Test
    public void test7BitInts() {
       createTest(7);
    }
@@ -71,31 +51,6 @@
    }
 
    @Test
-   public void test10BitInts() {
-      createTest(10);
-   }
-
-   @Test
-   public void test11BitInts() {
-      createTest(11);
-   }
-
-   @Test
-   public void test12BitInts() {
-      createTest(12);
-   }
-
-   @Test
-   public void test13BitInts() {
-      createTest(13);
-   }
-
-   @Test
-   public void test14BitInts() {
-      createTest(14);
-   }
-
-   @Test
    public void test15BitInts() {
       createTest(15);
    }
@@ -111,75 +66,11 @@
    }
 
    @Test
-   public void test18BitInts() {
-      createTest(18);
-   }
-
-   @Test
-   public void test19BitInts() {
-      createTest(19);
-   }
-
-   @Test
-   public void test20BitInts() {
-      createTest(20);
-   }
-
-   @Test
-   public void test21BitInts() {
-      createTest(21);
-   }
-
-   @Test
-   public void test22BitInts() {
-      createTest(22);
-   }
-
-   @Test
-   public void test23BitInts() {
-      createTest(23);
-   }
-
-   @Test
-   public void test24BitInts() {
-      createTest(24);
-   }
-
-   @Test
-   public void test25BitInts() {
-      createTest(25);
-   }
-
-   @Test
-   public void test26BitInts() {
-      createTest(26);
-   }
-
-   @Test
-   public void test27BitInts() {
-      createTest(27);
-   }
-
-   @Test
-   public void test28BitInts() {
-      createTest(28);
-   }
-
-   @Test
-   public void test29BitInts() {
-      createTest(29);
-   }
-
-   @Test
-   public void test30BitInts() {
-      createTest(30);
-   }
-
-   @Test
    public void test32BitInts() {
       createTest(32);
    }
 
+   @SuppressWarnings("deprecation")
    private void createTest(int width) {
       final HeaderData hd = new HeaderData("test_data", new MemoryResource(new byte[64], 2, 64));
       IntegerElement[] e = new IntegerElement[32];
@@ -201,7 +92,7 @@
             int[] expectedVals = new int[count];
             Random r = new Random(System.currentTimeMillis());
 
-            for (int l = 0; l <= 255; l++) {
+            for (int l = 0; l <= 128; l++) {
                /*
                 * perform sets going through the array. We do this so that we can catch sets that modified bits before
                 * the element
@@ -228,6 +119,7 @@
       }
    }
 
+   @SuppressWarnings("deprecation")
    private void generateAscending(Random r, IntegerElement[] e, int[] expectedVals, int length) {
       for (int i = 0; i < length; i++) {
          int val = r.nextInt();
@@ -245,6 +137,7 @@
       }
    }
 
+   @SuppressWarnings("deprecation")
    private void generateDescending(Random r, IntegerElement[] e, int[] expectedVals, int length) {
       for (int i = length - 1; i >= 0; i--) {
          int val = r.nextInt();
@@ -262,6 +155,7 @@
       }
    }
 
+   @SuppressWarnings("deprecation")
    private void check(IntegerElement[] e, int[] expectedVals, int length) {
       for (int i = 0; i < length; i++) {
          IntegerElement el = e[i];
diff --git a/org.eclipse.osee.ote.core.test/src/org/eclipse/osee/ote/message/elements/LongIntegerElementTest.java b/org.eclipse.osee.ote.core.test/src/org/eclipse/osee/ote/message/elements/LongIntegerElementTest.java
index faafa19..b9958f4 100644
--- a/org.eclipse.osee.ote.core.test/src/org/eclipse/osee/ote/message/elements/LongIntegerElementTest.java
+++ b/org.eclipse.osee.ote.core.test/src/org/eclipse/osee/ote/message/elements/LongIntegerElementTest.java
@@ -38,70 +38,25 @@
    public void test3BitInts() {
       createLongIntTest(3);
    }
-
-   @Test
-   public void test4BitInts() {
-      createLongIntTest(4);
-   }
-
-   @Test
-   public void test5BitInts() {
-      createLongIntTest(5);
-   }
-
+   
    @Test
    public void test8BitInts() {
       createLongIntTest(8);
    }
 
    @Test
-   public void test10BitInts() {
-      createLongIntTest(10);
-   }
-
-   @Test
-   public void test12BitInts() {
-      createLongIntTest(12);
+   public void test9BitInts() {
+      createLongIntTest(9);
    }
 
    @Test
    public void test16BitInts() {
       createLongIntTest(16);
    }
-
+   
    @Test
-   public void test20BitInts() {
-      createLongIntTest(20);
-   }
-
-   @Test
-   public void test22BitInts() {
-      createLongIntTest(22);
-   }
-
-   @Test
-   public void test24BitInts() {
-      createLongIntTest(24);
-   }
-
-   @Test
-   public void test25BitInts() {
-      createLongIntTest(25);
-   }
-
-   @Test
-   public void test26BitInts() {
-      createLongIntTest(26);
-   }
-
-   @Test
-   public void test27BitInts() {
-      createLongIntTest(27);
-   }
-
-   @Test
-   public void test30BitInts() {
-      createLongIntTest(30);
+   public void test17BitInts() {
+      createLongIntTest(17);
    }
 
    @Test
@@ -115,21 +70,6 @@
    }
 
    @Test
-   public void test40BitInts() {
-      createLongIntTest(40);
-   }
-
-   @Test
-   public void test48BitInts() {
-      createLongIntTest(48);
-   }
-
-   @Test
-   public void test50BitInts() {
-      createLongIntTest(50);
-   }
-
-   @Test
    public void test64BitInts() {
       createLongIntTest(64);
    }
@@ -154,7 +94,7 @@
             long[] expectedVals = new long[count];
             Random r = new Random(System.currentTimeMillis());
 
-            for (int l = 0; l <= 256; l++) {
+            for (int l = 0; l <= 128; l++) {
                /*
                 * perform sets going through the array. We do this so that we can catch sets that modified bits before
                 * the element
diff --git a/org.eclipse.osee.ote.core.test/src/org/eclipse/osee/ote/message/elements/UnsignedBigInteger64ElementTest.java b/org.eclipse.osee.ote.core.test/src/org/eclipse/osee/ote/message/elements/UnsignedBigInteger64ElementTest.java
index c6fc0e8..156d905 100644
--- a/org.eclipse.osee.ote.core.test/src/org/eclipse/osee/ote/message/elements/UnsignedBigInteger64ElementTest.java
+++ b/org.eclipse.osee.ote.core.test/src/org/eclipse/osee/ote/message/elements/UnsignedBigInteger64ElementTest.java
@@ -119,7 +119,7 @@
             long[] expectedVals = new long[count];
             Random r = new Random(System.currentTimeMillis());
 
-            for (int l = 0; l <= 256; l++) {
+            for (int l = 0; l <= 128; l++) {
                /*
                 * perform sets going through the array. We do this so that we can catch sets that modified bits before
                 * the element
diff --git a/org.eclipse.osee.ote.core/src/org/eclipse/osee/ote/message/Message.java b/org.eclipse.osee.ote.core/src/org/eclipse/osee/ote/message/Message.java
index 2cf64f9..68243b5 100644
--- a/org.eclipse.osee.ote.core/src/org/eclipse/osee/ote/message/Message.java
+++ b/org.eclipse.osee.ote.core/src/org/eclipse/osee/ote/message/Message.java
@@ -33,7 +33,6 @@
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamWriter;
 
-import com.fasterxml.jackson.annotation.JsonProperty;
 import org.eclipse.osee.framework.jdk.core.persistence.Xmlizable;
 import org.eclipse.osee.framework.jdk.core.persistence.XmlizableStream;
 import org.eclipse.osee.framework.jdk.core.util.xml.Jaxp;
@@ -60,6 +59,8 @@
 import org.eclipse.osee.ote.message.tool.MessageMode;
 import org.w3c.dom.Document;
 
+import com.fasterxml.jackson.annotation.JsonProperty;
+
 /**
  * @author Andrew M. Finkbeiner
  */
@@ -778,6 +779,9 @@
        return getMemType().name();
    }
    
+   /**
+    * Zeroize the entire body of this message.  Notice that the header and mask will not be affected.
+    */
    public void zeroize() {
       checkState();
       for (DataType memType : memToDataMap.keySet()) {
@@ -786,6 +790,16 @@
          }
       }
    }
+   
+   /**
+    * Clears/zeroes out the entire mask for this message.
+    */
+   public void clearMask() {
+      Collection<MessageData> sources = getMemSource(currentMemType);
+      for (MessageData source : sources) {
+         source.getMem().zeroizeMask();
+      }
+   }
 
    /**
     * Verifies that the message is sent at least once using the default message timeout. DO NOT override this method in
diff --git a/org.eclipse.osee.ote.core/src/org/eclipse/osee/ote/message/OteMessage.java b/org.eclipse.osee.ote.core/src/org/eclipse/osee/ote/message/OteMessage.java
index 9ae15cf..60384b3 100644
--- a/org.eclipse.osee.ote.core/src/org/eclipse/osee/ote/message/OteMessage.java
+++ b/org.eclipse.osee.ote.core/src/org/eclipse/osee/ote/message/OteMessage.java
@@ -15,6 +15,7 @@
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
 import java.util.Collection;
+
 import org.eclipse.osee.ote.core.environment.interfaces.ITestEnvironmentAccessor;
 import org.eclipse.osee.ote.message.condition.ICondition;
 import org.eclipse.osee.ote.message.data.MessageData;
@@ -222,9 +223,19 @@
       return getMessageToRead().getMessageName();
    }
 
+   /**
+    * Zeroize the entire body of this message.  Notice that the header and mask will not be affected.
+    */
    public void zeroize() {
       getMessageToWrite().zeroize();
    }
+   
+   /**
+    * Clears/zeroes out the entire mask for this message.
+    */
+   public void clearMask() {
+      getMessageToWrite().clearMask();
+   }
 
    /**
     * Verifies that the message is sent at least once using the default message timeout. DO NOT override this method in
diff --git a/org.eclipse.osee.ote.core/src/org/eclipse/osee/ote/message/data/MemoryResource.java b/org.eclipse.osee.ote.core/src/org/eclipse/osee/ote/message/data/MemoryResource.java
index e26535e..7ffd56d 100644
--- a/org.eclipse.osee.ote.core/src/org/eclipse/osee/ote/message/data/MemoryResource.java
+++ b/org.eclipse.osee.ote.core/src/org/eclipse/osee/ote/message/data/MemoryResource.java
@@ -18,6 +18,7 @@
 import java.nio.charset.Charset;
 import java.util.Arrays;
 import java.util.logging.Level;
+
 import org.eclipse.osee.ote.message.MessageSystemException;
 
 /**
@@ -438,7 +439,8 @@
    }
 
    public final void setASCIIString(String s, int offset) {
-      updateMask(offset, 0, 63);
+      int bitLength = 8 * s.length() - 1;
+      updateMask(offset, 0, bitLength);
       System.arraycopy(s.getBytes(US_ASCII_CHARSET), 0, byteArray.get(), _offset + offset, s.length());
       _dataHasChanged = true;
    }
@@ -550,14 +552,15 @@
       endByte = endByte < length ? endByte : length - 1;
       final int lsbMod = (lsb % 8) + 1;
       final int msbMod = msb % 8;
+      int bitLength = lsb - msb;
       int shift;
       for (int i = endByte; i >= beginByte; i--) {
          if (endByte == beginByte) { // MSB and LSB in same byte; shift accordingly
-            mask[i] |= 0xFF >>> msbMod; // Push ones
-            mask[i] |= mask[i] <<= lsbMod; // Pull zeros
+            byte littleMask = (byte) (0xFF << (8 - bitLength - 1)); // N bits all the way to the left
+            littleMask = (byte) ((littleMask & 0xFF) >>> (msbMod)); // shift bits to match element
+            mask[i] |= littleMask; 
          } else if (i == endByte) { // Shift based on LSB
-            shift = lsbMod;
-            shift = shift > 0 ? 8 - shift : shift;
+            shift = 8 - lsbMod;
             mask[i] |= (byte) (0xFF << shift);
          } else if (i == beginByte) { // Shift based on MSB
             mask[i] |= (byte) (0xFF >>> msbMod);
@@ -576,16 +579,57 @@
    public void updateMask(int offset) {
       getMask()[offset] |= 0xFF;
    }
+   
 
+   /**
+    * Removes all the mask bits in the current buffer addressed by the arguments
+    * 
+    * @param offset
+    * @param msb
+    * @param lsb
+    */
+   public void zeroizeMask(int offset, int msb, int lsb) {
+      offset += _offset;
+      byte[] mask = getMask();
+      final int length = byteArray.get().length;
+      final int beginByte = offset + msb / 8;
+      int endByte = offset + lsb / 8;
+      endByte = endByte < length ? endByte : length - 1;
+      final int lsbMod = (lsb % 8) + 1;
+      final int msbMod = msb % 8;
+      int bitLength = lsb - msb;
+      int shift;
+      byte littleMask;
+      for (int i = endByte; i >= beginByte; i--) {
+         if (endByte == beginByte) { // MSB and LSB in same byte; shift accordingly
+            littleMask = (byte) (0xFF << (8 - bitLength - 1)); // N bits all the way to the left
+            littleMask = (byte) ((littleMask & 0xFF) >>> (msbMod)); // shift bits to match element
+            mask[i] &= ~littleMask; 
+         } else if (i == endByte) { // Shift based on LSB
+            shift = 8 - lsbMod;
+            littleMask = (byte) (0xFF << shift);
+            mask[i] &= ~littleMask;
+         } else if (i == beginByte) { // Shift based on MSB
+            littleMask = (byte) (0xFF >>> msbMod);
+            mask[i] &= ~littleMask;
+         } else { // Unmask all eight bits
+            mask[i] = 0;
+         }
+      }
+   }
+   
    public byte[] getMask() {
       return byteArray.getMask();
    }
 
+   /**
+    * Zero out all of the mask bits for this buffer
+    */
    public void zeroizeMask() {
       Arrays.fill(byteArray.getMask(), (byte) 0x00);
    }
 
-   public void printBinary(byte b, String label) {
+   public static void printBinary(byte b, String label) {
       System.out.print(label);
       String bits;
       bits = String.format("%8s", Integer.toBinaryString(b & 0xFF)).replace(' ', '0');
@@ -593,7 +637,7 @@
       System.out.println("");
    }
 
-   public void printBinary(byte[] byteArray, String label) {
+   public static void printBinary(byte[] byteArray, String label) {
       System.out.print(label);
       String bits;
       for (int i = 0; i < byteArray.length; i++) {
@@ -727,4 +771,5 @@
       }
       System.out.println("\n");
    }
+
 }
diff --git a/org.eclipse.osee.ote.core/src/org/eclipse/osee/ote/message/element/MsgElementDiscrete.java b/org.eclipse.osee.ote.core/src/org/eclipse/osee/ote/message/element/MsgElementDiscrete.java
index 9be0494..f4cac51 100644
--- a/org.eclipse.osee.ote.core/src/org/eclipse/osee/ote/message/element/MsgElementDiscrete.java
+++ b/org.eclipse.osee.ote.core/src/org/eclipse/osee/ote/message/element/MsgElementDiscrete.java
@@ -43,6 +43,13 @@
    public void setNoLog(T obj) {
       getElementToWrite().setNoLog(obj);
    }
+   
+   /**
+    * Zeroize this element's data and mask.
+    */
+   public void unset() {
+      getElementToWrite().unset();
+   }
 
    @SuppressWarnings("unchecked")
    protected DiscreteElement<T> getElementToWrite() {
diff --git a/org.eclipse.osee.ote.core/src/org/eclipse/osee/ote/message/elements/DiscreteElement.java b/org.eclipse.osee.ote.core/src/org/eclipse/osee/ote/message/elements/DiscreteElement.java
index d6aa38c..f2a4b06 100644
--- a/org.eclipse.osee.ote.core/src/org/eclipse/osee/ote/message/elements/DiscreteElement.java
+++ b/org.eclipse.osee.ote.core/src/org/eclipse/osee/ote/message/elements/DiscreteElement.java
@@ -51,6 +51,14 @@
    public abstract T getValue();
 
    public abstract String toString(T obj);
+   
+   /**
+    * Zeroize both the data and mask for this element
+    */
+   public void unset() {
+      zeroize();
+      getMsgData().getMem().zeroizeMask(byteOffset, msb, lsb);
+   }
 
    public String valueOf() {
       return getValue().toString();
diff --git a/org.eclipse.osee.ote.core/src/org/eclipse/osee/ote/message/elements/Element.java b/org.eclipse.osee.ote.core/src/org/eclipse/osee/ote/message/elements/Element.java
index 99e8c57..ec3a5f2 100644
--- a/org.eclipse.osee.ote.core/src/org/eclipse/osee/ote/message/elements/Element.java
+++ b/org.eclipse.osee.ote.core/src/org/eclipse/osee/ote/message/elements/Element.java
@@ -283,6 +283,9 @@
       return elementName;
    }
 
+   /**
+    * Zeroize the data for this element (not the mask).
+    */
    public void zeroize() {
 
       getMsgData().getMem().setLong(0L, byteOffset, msb, lsb);