private <T> T readPrimitive(int defaultSizeBytes, T defaultValue, Class<T> clazz) {
    """
	Reads a primitive, which may reinterpret zeros of other types.
	
	@param defaultSizeBytes if reinterpreting zeros, the number of bytes to consume
	@param defaultValue the default value for zeros or reading past the end
	@param clazz this is the type that is being read, but not checked in this method
    """
      // Check for zeroes first, since partially-overwritten values are not an error for zeroes.
      if (readZeroes(defaultSizeBytes)) {
        return defaultValue;
      }
      return readValue(defaultValue, clazz, /* allowNull= */ false);
    }
private <T> T readPrimitive(int defaultSizeBytes, T defaultValue, Class<T> clazz) {
      // Check for zeroes first, since partially-overwritten values are not an error for zeroes.
      if (readZeroes(defaultSizeBytes)) {
        return defaultValue;
      }
      return readValue(defaultValue, clazz, /* allowNull= */ false);
    }
private < T > T readPrimitive ( int defaultSizeBytes , T defaultValue , Class < T > clazz ) { // Check for zeroes first, since partially-overwritten values are not an error for zeroes. if ( readZeroes ( defaultSizeBytes ) ) { return defaultValue ; } return readValue ( defaultValue , clazz , /* allowNull= */ false ) ; }
Reads a primitive, which may reinterpret zeros of other types.

@param defaultSizeBytes if reinterpreting zeros, the number of bytes to consume
@param defaultValue the default value for zeros or reading past the end
@param clazz this is the type that is being read, but not checked in this method
Reads a primitive which may reinterpret zeros of other types .