docs: public static Savepoint loadCheckpointMetadata(DataInputStream in, ClassLoader classLoader) throws IOException {
  		checkNotNull(in, "input stream");
  		checkNotNull(classLoader, "classLoader");
  
  		final int magicNumber = in.readInt();
  
  		if (magicNumber == HEADER_MAGIC_NUMBER) {
  			final int version = in.readInt();
  			final SavepointSerializer<?> serializer = SavepointSerializers.getSerializer(version);
  
  			if (serializer != null) {
  				return serializer.deserialize(in, classLoader);
  			}
  			else {
  				throw new IOException("Unrecognized checkpoint version number: " + version);
  			}
  		}
  		else {
  			throw new IOException("Unexpected magic number. This can have multiple reasons: " +
  					"(1) You are trying to load a Flink 1.0 savepoint, which is not supported by this " +
  					"version of Flink. (2) The file you were pointing to is not a savepoint at all. " +
  					"(3) The savepoint file has been corrupted.");
  		}
  	}