@SuppressWarnings("unchecked") static <T extends Destination> T fromPb(String destinationPb) { if (BucketDestination.matchesDestination(destinationPb)) { return (T) BucketDestination.fromPb(destinationPb); } else if (DatasetDestination.matchesDestination(destinationPb)) { return (T) DatasetDestination.fromPb(destinationPb); } else if (TopicDestination.matchesDestination(destinationPb)) { return (T) TopicDestination.fromPb(destinationPb); } throw new IllegalArgumentException(destinationPb + " is not a valid sink destination"); } }
@SuppressWarnings("unchecked") static <T extends Destination> T fromPb(String destinationPb) { if (BucketDestination.matchesDestination(destinationPb)) { return (T) BucketDestination.fromPb(destinationPb); } else if (DatasetDestination.matchesDestination(destinationPb)) { return (T) DatasetDestination.fromPb(destinationPb); } else if (TopicDestination.matchesDestination(destinationPb)) { return (T) TopicDestination.fromPb(destinationPb); } throw new IllegalArgumentException(destinationPb + " is not a valid sink destination"); } }