@Override
public PersistedData getArrayItem(int index) {
if (data.getValueCount() > 0) {
return new ProtobufPersistedData(data.getValue(index));
} else if (data.getFloatCount() > 0) {
return new PersistedFloat(data.getFloat(index));
} else if (data.getIntegerCount() > 0) {
return new PersistedInteger(data.getInteger(index));
} else if (data.getDoubleCount() > 0) {
return new PersistedDouble(data.getDouble(index));
} else if (data.getBooleanCount() > 0) {