{
if (data == null || length <= 0 || offset < 0) return TErrorList.argument_list_error;
if (length > data.length - offset) length = data.length - offset;
int maxlen = Math.min(dArrayLength, length);
if (length <= 0) return TErrorList.argument_list_error;
if (isLocked) throw new InputDataLockedException(lockedMessage);
boolean formatsEqual = dFormat == getObjectFormat(data);
if ((data instanceof NAME[] && hDataObject instanceof NAME[])
|| (data instanceof NAMEINT[] && hDataObject instanceof NAMEINT[]))
{
int objlen = ((TCompoundDataObject[]) hDataObject).length;