public bool TryAppend(Metric metric, Encoding encoding) { try { position += metric.GetBytes(encoding, bytes, position); return true; } catch(ArgumentException) { return false; } }