public void generate() {
        tailWrapper = visit(tailTransform);
        checkState(inputTransforms.size() == inputTransformAndInputSpecPairs.size());
        calculateManagedMemoryFraction();
    }
@Test(expected = RuntimeException.class)
    public void testUnsupportedTransformation() {
        final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
        Transformation<RowData> source1 = createSource(env, "source1");
        Transformation<RowData> source2 = createSource(env, "source2");

        TestingTransformation<RowData> test = new TestingTransformation<>(source1, "test", 10);

        TwoInputTransformation<RowData, RowData, RowData> join =
                createTwoInputTransform(
                        test,
                        source2,
                        "join1",
                        InternalTypeInfo.of(
                                RowType.of(
                                        DataTypes.STRING().getLogicalType(),
                                        DataTypes.STRING().getLogicalType())));

        TableOperatorWrapperGenerator generator =
                new TableOperatorWrapperGenerator(
                        Arrays.asList(source1, source2), join, new int[] {0, 0});
        generator.generate();
    }