/**
  * this method extracts and returns the value for the field, if the field is an array, the value
  * is an <code>Vector</code>
  */
 public Object extractValueFromArray(byte[] recordData) {
   Object value;
   if (this.isArray()) {
     int offset = this.getOffset();
     ArrayList fieldValue = new ArrayList(this.getArraySize());
     for (int i = this.getArraySize(); i > 0; i--) {
       FieldMetaData fieldCopy = this.deepCopy();
       fieldCopy.setOffset(offset);
       ByteConverter converter = new ByteConverter(fieldCopy, recordData);
       fieldValue.add(converter.getStringValue());
       offset += mySize;
     }
     value = fieldValue;
   } else {
     ByteConverter converter = new ByteConverter(this, recordData);
     value = converter.getStringValue();
   }
   return value;
 }