private void validateTransforms(List<ETLStage> transform) throws Exception {
for (int i = 0; i < transform.size() - 1; i++) {
String transform1 = transformClassMap.get(transform.get(i).getName());
String transform2 = transformClassMap.get(transform.get(i + 1).getName());
Transform firstTransform = (Transform) Class.forName(transform1).newInstance();
<BUG>Transform secondTransform = (Transform) Class.forName(transform2).newInstance();
Preconditions.checkArgument(secondTransform.getKeyInType().getClass().isAssignableFrom(
firstTransform.getKeyInType().getClass()));
Preconditions.checkArgument(secondTransform.getValueInType().getClass().isAssignableFrom(
firstTransform.getValueInType().getClass()));
Preconditions.checkArgument(secondTransform.getKeyOutType().getClass().isAssignableFrom(
firstTransform.getKeyOutType().getClass()));
Preconditions.checkArgument(secondTransform.getValueOutType().getClass().isAssignableFrom(
firstTransform.getValueOutType().getClass()));</BUG>
}

private void validateTransforms(List<ETLStage> transform) throws Exception {
for (int i = 0; i < transform.size() - 1; i++) {
String transform1 = transformClassMap.get(transform.get(i).getName());
String transform2 = transformClassMap.get(transform.get(i + 1).getName());
Transform firstTransform = (Transform) Class.forName(transform1).newInstance();
Transform secondTransform = (Transform) Class.forName(transform2).newInstance();
Preconditions.checkArgument(secondTransform.getKeyInType().equals(firstTransform.getKeyInType()));
Preconditions.checkArgument(secondTransform.getValueInType().equals(firstTransform.getValueInType()));
Preconditions.checkArgument(secondTransform.getKeyOutType().equals(firstTransform.getKeyOutType()));
Preconditions.checkArgument(secondTransform.getValueOutType().equals(firstTransform.getValueOutType()));
