code: protected int findDataOffset() {
  		final int fsm = ObjectArrayUtil.getFirstSubMap(head());
  		final int offset;
  		if (fsm <= 2 && vpack[start + 2] != 0) {
  			offset = 2;
  		} else if (fsm <= 3 && vpack[start + 3] != 0) {
  			offset = 3;
  		} else if (fsm <= 5 && vpack[start + 6] != 0) {
  			offset = 5;
  		} else {
  			offset = 9;
  		}
  		return offset;
  	}
docs: Must be called for a nonempty array or object at start():