In TinkerGraph#validateHomogenousIds(List), TinkerGraph explicitly checks for identical ID types among all IDs passed in and provides a misleading error message if they mismatch. In fact, this is a semantic error; TinkerGraph quite happily supports heterogeneous element ID types.
In my application, vertex IDs are generally explicitly assigned using UUID-as-string values, and so the IDs are primarily of type String. However, my test infrastructure has a few bookkeeping nodes that I'm not manually writing IDs to, and TinkerGraph assigns them Long IDs. These mixed IDs work just fine, but when I try to pass an Object... to V, TinkerGraph throws.
Mixing ID types is perfectly legal (if not, in most cases, practically advisable), and TinkerGraph should not throw when presented with a mixed array of valid IDs.