You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wayang.apache.org by be...@apache.org on 2021/09/27 15:08:47 UTC

[incubator-wayang] 09/11: [WAYANG-34] imports optimization and refactor

This is an automated email from the ASF dual-hosted git repository.

bertty pushed a commit to branch WAYANG-34
in repository https://gitbox.apache.org/repos/asf/incubator-wayang.git

commit 97033d9db1a9cfafa3a0d77ef6a9f847c50d4cef
Author: Bertty Contreras-Rojas <be...@scalytics.io>
AuthorDate: Mon Sep 27 16:55:55 2021 +0200

    [WAYANG-34] imports optimization and refactor
    
    Signed-off-by: bertty <be...@gmail.com>
---
 .../apache/wayang/api/python/PythonAPITest.java    |  4 +-
 .../scala/org/apache/wayang/api/DataQuanta.scala   |  5 ++-
 .../org/apache/wayang/api/DataQuantaBuilder.scala  |  1 +
 .../org/apache/wayang/api/JavaPlanBuilder.scala    |  1 +
 .../java/org/apache/wayang/api/JavaApiTest.java    | 41 ++++++++++-----------
 .../test/scala/org/apache/wayang/api/ApiTest.scala |  2 +-
 wayang-benchmark/pom.xml                           |  5 ---
 .../java/org/apache/wayang/apps/sgd/SGDImpl.java   |  9 ++---
 .../apache/wayang/apps/sgd/SGDImprovedImpl.java    | 13 +++----
 .../java/org/apache/wayang/apps/tpch/Main.java     |  7 +++-
 .../org/apache/wayang/apps/wordcount/Main.java     | 21 ++++++-----
 .../apps/benchmark/OptimizerScalabilityTest.scala  |  1 -
 .../wayang/apps/benchmark/PlanGenerator.scala      |  2 +-
 .../org/apache/wayang/apps/crocopr/CrocoPR.scala   |  3 +-
 .../org/apache/wayang/apps/kmeans/Kmeans.scala     |  5 +--
 .../wayang/apps/kmeans/postgres/Kmeans.scala       |  5 +--
 .../scala/org/apache/wayang/apps/sgd/SGD.scala     |  1 -
 .../wayang/apps/simwords/ScrubFunction.scala       |  3 +-
 .../simwords/SelectNearestCentroidFunction.scala   |  2 +-
 .../org/apache/wayang/apps/simwords/SimWords.scala |  3 +-
 .../apache/wayang/apps/simwords/Word2NVec.scala    |  3 +-
 .../scala/org/apache/wayang/apps/sindy/Sindy.scala |  8 ++--
 .../scala/org/apache/wayang/apps/tpch/TpcH.scala   | 13 +++++--
 .../apache/wayang/apps/tpch/queries/Query1.scala   |  2 +-
 .../wayang/apps/tpch/queries/Query3Database.scala  |  3 +-
 .../wayang/apps/tpch/queries/Query3File.scala      |  3 +-
 .../wayang/apps/tpch/queries/Query3Hybrid.scala    |  3 +-
 .../org/apache/wayang/apps/util/Parameters.scala   |  2 +-
 .../apache/wayang/apps/util/ProfileDBHelper.scala  |  3 --
 .../wayang/apps/wordcount/WordCountScala.scala     |  3 +-
 .../wayang/apps/tpch/data/LineItemTupleTest.java   |  5 +--
 .../org/apache/wayang/apps/kmeans/KmeansTest.scala |  4 +-
 .../apache/wayang/basic/channels/FileChannel.java  | 15 ++++----
 .../java/org/apache/wayang/basic/data/Record.java  |  5 +--
 .../basic/function/ProjectionDescriptor.java       |  9 ++---
 .../wayang/basic/mapping/GlobalReduceMapping.java  |  5 +--
 .../org/apache/wayang/basic/mapping/Mappings.java  |  3 +-
 .../basic/mapping/MaterializedGroupByMapping.java  |  5 +--
 .../wayang/basic/mapping/PageRankMapping.java      |  9 ++---
 .../wayang/basic/mapping/ReduceByMapping.java      |  5 +--
 .../apache/wayang/basic/mapping/RepeatMapping.java |  7 ++--
 .../wayang/basic/operators/CartesianOperator.java  |  3 +-
 .../wayang/basic/operators/CoGroupOperator.java    |  3 +-
 .../wayang/basic/operators/CollectionSource.java   |  7 ++--
 .../wayang/basic/operators/CountOperator.java      |  3 +-
 .../wayang/basic/operators/DistinctOperator.java   |  3 +-
 .../wayang/basic/operators/DoWhileOperator.java    |  9 ++---
 .../wayang/basic/operators/FilterOperator.java     |  3 +-
 .../wayang/basic/operators/FlatMapOperator.java    |  3 +-
 .../operators/GlobalMaterializedGroupOperator.java |  3 +-
 .../basic/operators/GlobalReduceOperator.java      |  3 +-
 .../wayang/basic/operators/IntersectOperator.java  |  3 +-
 .../wayang/basic/operators/JoinOperator.java       |  3 +-
 .../wayang/basic/operators/LocalCallbackSink.java  |  7 ++--
 .../wayang/basic/operators/LoopOperator.java       |  9 ++---
 .../apache/wayang/basic/operators/MapOperator.java |  3 +-
 .../basic/operators/MapPartitionsOperator.java     |  3 +-
 .../operators/MaterializedGroupByOperator.java     |  3 +-
 .../wayang/basic/operators/ObjectFileSink.java     |  4 --
 .../wayang/basic/operators/PageRankOperator.java   |  3 +-
 .../wayang/basic/operators/ReduceByOperator.java   |  3 +-
 .../wayang/basic/operators/ReduceOperator.java     |  3 +-
 .../wayang/basic/operators/RepeatOperator.java     |  9 ++---
 .../wayang/basic/operators/SampleOperator.java     | 11 +++---
 .../wayang/basic/operators/SortOperator.java       |  3 +-
 .../wayang/basic/operators/TextFileSink.java       |  3 +-
 .../wayang/basic/operators/TextFileSource.java     | 17 ++++-----
 .../wayang/basic/operators/UnionAllOperator.java   |  3 +-
 .../wayang/basic/operators/ZipWithIdOperator.java  |  3 +-
 .../apache/wayang/basic/plugin/WayangBasic.java    |  7 ++--
 .../wayang/basic/plugin/WayangBasicGraph.java      |  5 +--
 .../org/apache/wayang/basic/types/RecordType.java  |  5 +--
 .../basic/function/ProjectionDescriptorTest.java   |  7 ++--
 .../wayang/basic/mapping/ReduceByMappingTest.java  |  6 +--
 .../operators/MaterializedGroupByOperatorTest.java |  5 +--
 .../wayang/basic/operators/TextFileSourceTest.java | 30 +++++++--------
 .../apache/wayang/basic/types/RecordTypeTest.java  |  4 +-
 .../org/apache/wayang/core/api/Configuration.java  | 39 ++++++++++----------
 .../main/java/org/apache/wayang/core/api/Job.java  | 27 +++++++-------
 .../org/apache/wayang/core/api/WayangContext.java  |  4 +-
 .../core/api/configuration/CollectionProvider.java |  5 +--
 .../configuration/ExplicitCollectionProvider.java  |  7 ++--
 .../FunctionalCollectionProvider.java              |  3 +-
 .../configuration/FunctionalKeyValueProvider.java  |  3 +-
 .../api/configuration/FunctionalValueProvider.java |  3 +-
 .../core/api/configuration/KeyValueProvider.java   |  7 ++--
 .../configuration/MapBasedKeyValueProvider.java    |  5 +--
 .../core/api/configuration/ValueProvider.java      |  7 ++--
 .../core/function/AggregationDescriptor.java       |  3 +-
 .../wayang/core/function/ConsumerDescriptor.java   |  3 +-
 .../wayang/core/function/ExecutionContext.java     |  3 +-
 .../wayang/core/function/FlatMapDescriptor.java    |  5 +--
 .../wayang/core/function/FunctionDescriptor.java   |  9 ++---
 .../core/function/MapPartitionsDescriptor.java     |  5 +--
 .../wayang/core/function/PredicateDescriptor.java  |  3 +-
 .../wayang/core/function/ReduceDescriptor.java     |  3 +-
 .../core/function/TransformationDescriptor.java    |  3 +-
 .../wayang/core/mapping/OperatorPattern.java       |  7 ++--
 .../wayang/core/mapping/PlanTransformation.java    | 13 +++----
 .../core/mapping/ReplacementSubplanFactory.java    |  5 +--
 .../apache/wayang/core/mapping/SubplanMatch.java   |  5 +--
 .../apache/wayang/core/mapping/SubplanPattern.java | 15 ++++----
 .../wayang/core/monitor/DisabledMonitor.java       |  3 +-
 .../apache/wayang/core/monitor/FileMonitor.java    |  7 ++--
 .../apache/wayang/core/monitor/HttpMonitor.java    |  3 +-
 .../org/apache/wayang/core/monitor/Monitor.java    |  3 +-
 .../apache/wayang/core/monitor/ZeroMQMonitor.java  |  3 +-
 .../optimizer/AggregateOptimizationContext.java    |  5 +--
 .../core/optimizer/DefaultOptimizationContext.java | 13 +++----
 .../wayang/core/optimizer/OptimizationContext.java | 25 ++++++-------
 .../wayang/core/optimizer/OptimizationUtils.java   | 11 +++---
 .../optimizer/ProbabilisticIntervalEstimate.java   |  3 +-
 .../wayang/core/optimizer/SanityChecker.java       | 11 +++---
 .../AggregatingCardinalityEstimator.java           |  5 +--
 .../CardinalityEstimationTraversal.java            | 21 +++++------
 .../cardinality/CardinalityEstimatorManager.java   |  9 +++--
 .../optimizer/cardinality/CardinalityPusher.java   |  9 ++---
 .../cardinality/DefaultCardinalityEstimator.java   |  5 +--
 .../LoopHeadAlternativeCardinalityPusher.java      |  7 ++--
 .../cardinality/LoopSubplanCardinalityPusher.java  | 11 +++---
 .../OperatorAlternativeCardinalityPusher.java      |  5 +--
 .../cardinality/SubplanCardinalityPusher.java      | 11 +++---
 .../SwitchForwardCardinalityEstimator.java         |  2 +-
 .../core/optimizer/channels/ChannelConversion.java |  5 +--
 .../optimizer/channels/ChannelConversionGraph.java | 35 +++++++++---------
 .../channels/DefaultChannelConversion.java         |  7 ++--
 .../core/optimizer/costs/DefaultLoadEstimator.java |  7 ++--
 .../core/optimizer/costs/EstimationContext.java    |  5 +--
 .../optimizer/costs/IntervalLoadEstimator.java     |  7 ++--
 .../wayang/core/optimizer/costs/LoadEstimator.java |  3 +-
 .../wayang/core/optimizer/costs/LoadProfile.java   |  5 +--
 .../core/optimizer/costs/LoadProfileEstimator.java |  3 +-
 .../optimizer/costs/LoadProfileEstimators.java     | 27 +++++++-------
 .../costs/NestableLoadProfileEstimator.java        |  7 ++--
 .../optimizer/costs/SimpleEstimationContext.java   |  5 +--
 .../optimizer/enumeration/ExecutionTaskFlow.java   | 19 +++++-----
 .../enumeration/ExecutionTaskFlowCompiler.java     | 23 ++++++------
 .../enumeration/LatentOperatorPruningStrategy.java | 13 +++----
 .../core/optimizer/enumeration/LoopEnumerator.java | 13 +++----
 .../optimizer/enumeration/LoopImplementation.java  |  7 ++--
 .../optimizer/enumeration/PlanEnumeration.java     | 29 +++++++--------
 .../core/optimizer/enumeration/PlanEnumerator.java | 43 +++++++++++-----------
 .../optimizer/enumeration/PlanImplementation.java  | 39 ++++++++++----------
 .../enumeration/RandomPruningStrategy.java         |  3 +-
 .../enumeration/StageAssignmentTraversal.java      | 27 +++++++-------
 .../optimizer/enumeration/TopKPruningStrategy.java |  3 +-
 .../wayang/core/plan/executionplan/Channel.java    | 29 +++++++--------
 .../core/plan/executionplan/ExecutionPlan.java     | 11 +++---
 .../core/plan/executionplan/ExecutionStage.java    |  9 ++---
 .../plan/executionplan/ExecutionStageLoop.java     |  5 +--
 .../core/plan/executionplan/PlatformExecution.java |  5 +--
 .../core/plan/wayangplan/ElementaryOperator.java   |  3 +-
 .../plan/wayangplan/EstimationContextProperty.java |  3 +-
 .../core/plan/wayangplan/ExecutionOperator.java    | 13 +++----
 .../wayang/core/plan/wayangplan/InputSlot.java     |  3 +-
 .../core/plan/wayangplan/LoopHeadAlternative.java  |  7 ++--
 .../core/plan/wayangplan/LoopHeadOperator.java     |  3 +-
 .../wayang/core/plan/wayangplan/LoopIsolator.java  |  7 ++--
 .../wayang/core/plan/wayangplan/LoopSubplan.java   |  7 ++--
 .../wayang/core/plan/wayangplan/Operator.java      | 15 ++++----
 .../core/plan/wayangplan/OperatorAlternative.java  | 11 +++---
 .../wayang/core/plan/wayangplan/OperatorBase.java  | 15 ++++----
 .../core/plan/wayangplan/OperatorContainer.java    |  9 ++---
 .../core/plan/wayangplan/OperatorContainers.java   |  3 +-
 .../wayang/core/plan/wayangplan/OutputSlot.java    |  3 +-
 .../wayang/core/plan/wayangplan/PlanTraversal.java |  5 +--
 .../apache/wayang/core/plan/wayangplan/Slot.java   |  3 +-
 .../wayang/core/plan/wayangplan/SlotMapping.java   | 10 ++---
 .../wayang/core/plan/wayangplan/Subplan.java       | 11 +++---
 .../wayang/core/plan/wayangplan/WayangPlan.java    | 15 ++++----
 .../traversal/AbstractTopologicalTraversal.java    | 11 +++---
 .../core/platform/AbstractChannelInstance.java     |  5 +--
 .../wayang/core/platform/AtomicExecutionGroup.java |  3 +-
 .../core/platform/CardinalityBreakpoint.java       |  4 +-
 .../wayang/core/platform/ChannelDescriptor.java    |  5 +--
 .../wayang/core/platform/ChannelInstance.java      |  3 +-
 .../core/platform/ConjunctiveBreakpoint.java       |  5 +--
 .../core/platform/CrossPlatformExecutor.java       | 25 +++++++------
 .../wayang/core/platform/ExecutionState.java       |  3 +-
 .../wayang/core/platform/ExecutorTemplate.java     | 17 ++++-----
 .../apache/wayang/core/platform/FixBreakpoint.java |  7 ++--
 .../org/apache/wayang/core/platform/Junction.java  | 11 +++---
 .../wayang/core/platform/PartialExecution.java     |  9 ++---
 .../wayang/core/platform/PushExecutorTemplate.java | 21 +++++------
 .../platform/lineage/ExecutionLineageNode.java     |  5 +--
 .../platform/lineage/LazyExecutionLineageNode.java |  7 ++--
 .../apache/wayang/core/plugin/DynamicPlugin.java   | 21 +++++------
 .../java/org/apache/wayang/core/plugin/Plugin.java |  5 +--
 .../core/profiling/CardinalityRepository.java      | 19 +++++-----
 .../apache/wayang/core/profiling/ExecutionLog.java | 19 +++++-----
 .../core/profiling/ExecutionPlanMeasurement.java   | 11 +++---
 .../profiling/FullInstrumentationStrategy.java     |  3 +-
 .../org/apache/wayang/core/types/DataSetType.java  |  3 +-
 .../wayang/core/types/DataUnitGroupType.java       |  3 +-
 .../apache/wayang/core/util/JsonSerializable.java  |  3 +-
 .../apache/wayang/core/util/JsonSerializables.java |  4 +-
 .../org/apache/wayang/core/util/JuelUtils.java     |  9 ++---
 .../java/org/apache/wayang/core/util/LruCache.java |  3 +-
 .../apache/wayang/core/util/ReflectionUtils.java   | 11 +++---
 .../apache/wayang/core/util/WayangCollections.java |  3 +-
 .../apache/wayang/core/util/fs/FileSystems.java    |  9 ++---
 .../org/apache/wayang/core/util/fs/FileUtils.java  |  5 +--
 .../wayang/core/util/fs/HadoopFileSystem.java      | 15 ++++----
 .../wayang/core/util/fs/LocalFileSystem.java       |  7 ++--
 .../apache/wayang/core/util/mathex/Context.java    |  3 +-
 .../wayang/core/util/mathex/DefaultContext.java    |  3 +-
 .../wayang/core/util/mathex/ExpressionBuilder.java |  5 +--
 .../core/util/mathex/model/CompiledFunction.java   |  5 +--
 .../core/util/mathex/model/NamedFunction.java      |  7 ++--
 .../test/java/org/apache/wayang/core/SlotTest.java |  2 +-
 .../wayang/core/mapping/OperatorPatternTest.java   |  2 +-
 .../core/mapping/PlanTransformationTest.java       |  6 +--
 .../wayang/core/mapping/SubplanPatternTest.java    |  9 ++---
 .../wayang/core/mapping/test/TestSinkMapping.java  |  5 +--
 .../AggregatingCardinalityEstimatorTest.java       | 13 +++----
 .../DefaultCardinalityEstimatorTest.java           | 13 +++----
 .../LoopSubplanCardinalityPusherTest.java          |  6 +--
 .../cardinality/SubplanCardinalityPusherTest.java  |  6 +--
 .../channels/ChannelConversionGraphTest.java       | 11 +++---
 .../costs/NestableLoadProfileEstimatorTest.java    |  7 ++--
 .../enumeration/StageAssignmentTraversalTest.java  |  7 ++--
 .../core/plan/wayangplan/LoopIsolatorTest.java     |  9 ++---
 .../wayang/core/plan/wayangplan/OperatorTest.java  |  7 ++--
 .../core/plan/wayangplan/SlotMappingTest.java      | 11 +++---
 .../plan/wayangplan/test/TestFilterOperator.java   |  3 +-
 .../wayang/core/plan/wayangplan/test/TestJoin.java |  3 +-
 .../core/plan/wayangplan/test/TestLoopHead.java    |  7 ++--
 .../core/plan/wayangplan/test/TestMapOperator.java |  3 +-
 .../wayang/core/plan/wayangplan/test/TestSink.java |  3 +-
 .../core/plan/wayangplan/test/TestSource.java      |  3 +-
 .../wayang/core/platform/PartialExecutionTest.java | 15 ++++----
 .../wayang/core/plugin/DynamicPluginTest.java      | 15 ++++----
 .../wayang/core/test/DummyExecutionOperator.java   |  7 ++--
 .../org/apache/wayang/core/test/MockFactory.java   | 11 +++---
 .../core/util/ConsumerIteratorAdapterTest.java     |  9 ++---
 .../wayang/core/util/CrossProductIterableTest.java |  5 +--
 .../wayang/core/util/LimitedInputStreamTest.java   |  5 +--
 .../wayang/core/util/ReflectionUtilsTest.java      |  5 +--
 .../wayang/core/util/WayangCollectionsTest.java    |  5 +--
 .../core/util/mathex/ExpressionBuilderTest.java    |  7 ++--
 .../wayang/core/util/mathex/ExpressionTest.java    |  9 ++---
 .../wayang/commons/util/profiledb/ProfileDB.java   | 13 ++++---
 .../profiledb/json/MeasurementDeserializer.java    |  3 +-
 .../util/profiledb/json/MeasurementSerializer.java |  3 +-
 .../model/measurement/TimeMeasurement.java         |  5 +--
 .../util/profiledb/storage/FileStorage.java        |  8 ++--
 .../util/profiledb/storage/JDBCStorage.java        |  3 +-
 .../commons/util/profiledb/storage/Storage.java    | 16 ++++++--
 .../commons/util/profiledb/ProfileDBTest.java      | 18 +++++----
 .../measurement/TestMemoryMeasurement.java         |  3 +-
 .../profiledb/measurement/TestTimeMeasurement.java |  5 +--
 .../wayang/flink/channels/ChannelConversions.java  |  5 +--
 .../wayang/flink/channels/DataSetChannel.java      |  3 +-
 .../wayang/flink/compiler/FunctionCompiler.java    |  7 ++--
 .../wayang/flink/compiler/KeySelectorDistinct.java |  3 +-
 .../wayang/flink/compiler/KeySelectorFunction.java |  5 +--
 .../flink/compiler/OutputFormatConsumer.java       |  5 +--
 .../flink/compiler/WayangFileOutputFormat.java     | 17 ++++-----
 .../flink/compiler/criterion/WayangAggregator.java |  5 +--
 .../criterion/WayangConvergenceCriterion.java      |  5 +--
 .../flink/compiler/criterion/WayangListValue.java  |  3 +-
 .../flink/compiler/criterion/WayangValue.java      |  7 ++--
 .../flink/execution/FlinkExecutionContext.java     |  5 +--
 .../wayang/flink/execution/FlinkExecutor.java      |  7 ++--
 .../wayang/flink/mapping/CartesianMapping.java     |  5 +--
 .../wayang/flink/mapping/CoGroupMapping.java       |  5 +--
 .../flink/mapping/CollectionSourceMapping.java     |  5 +--
 .../apache/wayang/flink/mapping/CountMapping.java  |  5 +--
 .../wayang/flink/mapping/DistinctMapping.java      |  5 +--
 .../wayang/flink/mapping/DoWhileMapping.java       |  5 +--
 .../apache/wayang/flink/mapping/FilterMapping.java |  5 +--
 .../wayang/flink/mapping/FlatMapMapping.java       |  5 +--
 .../mapping/GlobalMaterializedGroupMapping.java    |  5 +--
 .../wayang/flink/mapping/GlobalReduceMapping.java  |  5 +--
 .../wayang/flink/mapping/GroupByMapping.java       |  5 +--
 .../wayang/flink/mapping/IntersectMapping.java     |  5 +--
 .../apache/wayang/flink/mapping/JoinMapping.java   |  5 +--
 .../flink/mapping/LocalCallbackSinkMapping.java    |  5 +--
 .../apache/wayang/flink/mapping/LoopMapping.java   |  5 +--
 .../apache/wayang/flink/mapping/MapMapping.java    |  5 +--
 .../wayang/flink/mapping/MapPartitionsMapping.java |  5 +--
 .../org/apache/wayang/flink/mapping/Mappings.java  |  3 +-
 .../flink/mapping/MaterializedGroupByMapping.java  |  5 +--
 .../flink/mapping/ObjectFileSourceMapping.java     |  2 -
 .../wayang/flink/mapping/PageRankMapping.java      |  5 +--
 .../wayang/flink/mapping/ReduceByMapping.java      |  5 +--
 .../apache/wayang/flink/mapping/RepeatMapping.java |  5 +--
 .../apache/wayang/flink/mapping/SampleMapping.java |  5 +--
 .../apache/wayang/flink/mapping/SortMapping.java   |  5 +--
 .../wayang/flink/mapping/TextFileSinkMapping.java  |  5 +--
 .../flink/mapping/TextFileSourceMapping.java       |  5 +--
 .../wayang/flink/mapping/UnionAllMapping.java      |  5 +--
 .../wayang/flink/mapping/ZipWithIdMapping.java     |  5 +--
 .../flink/operators/FlinkCartesianOperator.java    |  9 ++---
 .../flink/operators/FlinkCoGroupOperator.java      | 11 +++---
 .../flink/operators/FlinkCollectionSink.java       |  9 ++---
 .../flink/operators/FlinkCollectionSource.java     |  7 ++--
 .../wayang/flink/operators/FlinkCountOperator.java |  9 ++---
 .../flink/operators/FlinkDistinctOperator.java     |  9 ++---
 .../flink/operators/FlinkDoWhileOperator.java      |  9 ++---
 .../flink/operators/FlinkExecutionOperator.java    |  5 +--
 .../flink/operators/FlinkFilterOperator.java       | 11 +++---
 .../flink/operators/FlinkFlatMapOperator.java      | 11 +++---
 .../FlinkGlobalMaterializedGroupOperator.java      | 11 +++---
 .../flink/operators/FlinkGlobalReduceOperator.java | 11 +++---
 .../flink/operators/FlinkGroupByOperator.java      | 13 +++----
 .../flink/operators/FlinkIntersectOperator.java    |  7 ++--
 .../wayang/flink/operators/FlinkJoinOperator.java  | 11 +++---
 .../flink/operators/FlinkLocalCallbackSink.java    |  9 ++---
 .../wayang/flink/operators/FlinkLoopOperator.java  |  7 ++--
 .../wayang/flink/operators/FlinkMapOperator.java   |  9 ++---
 .../operators/FlinkMapPartitionsOperator.java      | 11 +++---
 .../FlinkMaterializedGroupByOperator.java          | 11 +++---
 .../flink/operators/FlinkObjectFileSink.java       |  8 ++--
 .../flink/operators/FlinkObjectFileSource.java     | 12 +++---
 .../flink/operators/FlinkPageRankOperator.java     | 15 ++++----
 .../flink/operators/FlinkReduceByOperator.java     | 11 +++---
 .../operators/FlinkRepeatExpandedOperator.java     |  7 ++--
 .../flink/operators/FlinkRepeatOperator.java       |  7 ++--
 .../flink/operators/FlinkSampleOperator.java       | 15 ++++----
 .../wayang/flink/operators/FlinkSortOperator.java  |  9 ++---
 .../wayang/flink/operators/FlinkTextFileSink.java  |  9 ++---
 .../flink/operators/FlinkTextFileSource.java       |  7 ++--
 .../wayang/flink/operators/FlinkTsvFileSink.java   |  9 ++---
 .../flink/operators/FlinkUnionAllOperator.java     |  7 ++--
 .../flink/operators/FlinkZipWithIdOperator.java    |  9 ++---
 .../wayang/flink/platform/FlinkPlatform.java       | 13 +++----
 .../wayang/flink/plugin/FlinkBasicPlugin.java      |  5 +--
 .../wayang/flink/plugin/FlinkConversionPlugin.java |  7 ++--
 .../wayang/giraph/Algorithm/PageRankAlgorithm.java |  5 +--
 .../giraph/Algorithm/PageRankParameters.java       |  5 +--
 .../wayang/giraph/channels/ChannelConversions.java |  4 +-
 .../wayang/giraph/execution/GiraphExecutor.java    | 14 +++++--
 .../apache/wayang/giraph/mappings/Mappings.java    |  3 +-
 .../wayang/giraph/mappings/PageRankMapping.java    | 13 ++++---
 .../giraph/operators/GiraphExecutionOperator.java  |  3 +-
 .../giraph/operators/GiraphPageRankOperator.java   | 16 ++++----
 .../wayang/giraph/platform/GiraphPlatform.java     |  1 -
 .../apache/wayang/giraph/plugin/GiraphPlugin.java  |  7 ++--
 .../operators/GiraphPagaRankOperatorTest.java      | 12 +++---
 .../wayang/java/channels/ChannelConversions.java   |  5 +--
 .../wayang/java/channels/CollectionChannel.java    |  5 +--
 .../wayang/java/channels/JavaChannelInstance.java  |  3 +-
 .../apache/wayang/java/channels/StreamChannel.java |  7 ++--
 .../wayang/java/compiler/FunctionCompiler.java     |  7 ++--
 .../java/execution/JavaExecutionContext.java       |  3 +-
 .../apache/wayang/java/execution/JavaExecutor.java |  7 ++--
 .../wayang/java/mapping/CartesianMapping.java      |  5 +--
 .../apache/wayang/java/mapping/CoGroupMapping.java |  5 +--
 .../java/mapping/CollectionSourceMapping.java      |  5 +--
 .../apache/wayang/java/mapping/CountMapping.java   |  5 +--
 .../wayang/java/mapping/DistinctMapping.java       |  5 +--
 .../apache/wayang/java/mapping/DoWhileMapping.java |  5 +--
 .../apache/wayang/java/mapping/FilterMapping.java  |  5 +--
 .../apache/wayang/java/mapping/FlatMapMapping.java |  5 +--
 .../mapping/GlobalMaterializedGroupMapping.java    |  5 +--
 .../wayang/java/mapping/GlobalReduceMapping.java   |  5 +--
 .../wayang/java/mapping/IntersectMapping.java      |  5 +--
 .../apache/wayang/java/mapping/JoinMapping.java    |  5 +--
 .../java/mapping/LocalCallbackSinkMapping.java     |  5 +--
 .../apache/wayang/java/mapping/LoopMapping.java    |  5 +--
 .../org/apache/wayang/java/mapping/MapMapping.java |  5 +--
 .../wayang/java/mapping/MapPartitionsMapping.java  |  5 +--
 .../org/apache/wayang/java/mapping/Mappings.java   |  5 +--
 .../java/mapping/MaterializedGroupByMapping.java   |  5 +--
 .../wayang/java/mapping/ObjectFileSinkMapping.java |  2 -
 .../java/mapping/ObjectFileSourceMapping.java      |  2 -
 .../wayang/java/mapping/ReduceByMapping.java       |  5 +--
 .../apache/wayang/java/mapping/RepeatMapping.java  |  5 +--
 .../apache/wayang/java/mapping/SampleMapping.java  |  5 +--
 .../apache/wayang/java/mapping/SortMapping.java    |  5 +--
 .../wayang/java/mapping/TextFileSinkMapping.java   |  5 +--
 .../wayang/java/mapping/TextFileSourceMapping.java |  5 +--
 .../wayang/java/mapping/UnionAllMapping.java       |  5 +--
 .../wayang/java/mapping/ZipWithIdMapping.java      |  5 +--
 .../wayang/java/mapping/graph/PageRankMapping.java |  5 +--
 .../java/operators/JavaCartesianOperator.java      | 15 ++++----
 .../wayang/java/operators/JavaCoGroupOperator.java | 21 +++++------
 .../wayang/java/operators/JavaCollectOperator.java | 11 +++---
 .../java/operators/JavaCollectionSource.java       |  7 ++--
 .../wayang/java/operators/JavaCountOperator.java   |  9 ++---
 .../java/operators/JavaDistinctOperator.java       |  9 ++---
 .../wayang/java/operators/JavaDoWhileOperator.java | 13 +++----
 .../java/operators/JavaExecutionOperator.java      |  5 +--
 .../wayang/java/operators/JavaFilterOperator.java  | 13 +++----
 .../wayang/java/operators/JavaFlatMapOperator.java | 19 +++++-----
 .../JavaGlobalMaterializedGroupOperator.java       |  9 ++---
 .../java/operators/JavaGlobalReduceOperator.java   | 13 +++----
 .../java/operators/JavaIntersectOperator.java      | 17 ++++-----
 .../wayang/java/operators/JavaJoinOperator.java    | 21 +++++------
 .../java/operators/JavaLocalCallbackSink.java      | 11 +++---
 .../wayang/java/operators/JavaLoopOperator.java    | 13 +++----
 .../wayang/java/operators/JavaMapOperator.java     | 13 +++----
 .../java/operators/JavaMapPartitionsOperator.java  | 19 +++++-----
 .../operators/JavaMaterializedGroupByOperator.java | 17 ++++-----
 .../wayang/java/operators/JavaObjectFileSink.java  | 23 +++++-------
 .../java/operators/JavaObjectFileSource.java       | 28 +++++++-------
 .../java/operators/JavaRandomSampleOperator.java   | 19 +++++-----
 .../java/operators/JavaReduceByOperator.java       | 29 +++++++--------
 .../wayang/java/operators/JavaRepeatOperator.java  |  9 ++---
 .../operators/JavaReservoirSampleOperator.java     | 21 +++++------
 .../wayang/java/operators/JavaSortOperator.java    | 11 +++---
 .../wayang/java/operators/JavaTextFileSink.java    | 19 +++++-----
 .../wayang/java/operators/JavaTextFileSource.java  | 19 +++++-----
 .../wayang/java/operators/JavaTsvFileSink.java     | 17 ++++-----
 .../wayang/java/operators/JavaTsvFileSource.java   | 20 +++-------
 .../java/operators/JavaUnionAllOperator.java       | 11 +++---
 .../java/operators/graph/JavaPageRankOperator.java | 12 ++----
 .../apache/wayang/java/plugin/JavaBasicPlugin.java |  5 +--
 .../java/plugin/JavaChannelConversionPlugin.java   |  5 +--
 .../apache/wayang/java/plugin/JavaGraphPlugin.java |  5 +--
 .../wayang/java/execution/JavaExecutorTest.java    | 11 +++---
 .../java/operators/JavaCartesianOperatorTest.java  | 11 +++---
 .../java/operators/JavaCoGroupOperatorTest.java    | 17 ++++-----
 .../java/operators/JavaCollectionSourceTest.java   |  9 ++---
 .../java/operators/JavaCountOperatorTest.java      |  9 ++---
 .../java/operators/JavaDistinctOperatorTest.java   |  9 ++---
 .../operators/JavaExecutionOperatorTestBase.java   | 13 +++----
 .../java/operators/JavaFilterOperatorTest.java     | 11 +++---
 .../JavaGlobalMaterializedGroupOperatorTest.java   | 11 +++---
 .../operators/JavaGlobalReduceOperatorTest.java    | 13 +++----
 .../java/operators/JavaJoinOperatorTest.java       | 15 ++++----
 .../java/operators/JavaLocalCallbackSinkTest.java  |  9 ++---
 .../JavaMaterializedGroupByOperatorTest.java       | 15 ++++----
 .../java/operators/JavaObjectFileSinkTest.java     | 11 +++---
 .../java/operators/JavaObjectFileSourceTest.java   | 13 +++----
 .../operators/JavaRandomSampleOperatorTest.java    |  9 ++---
 .../java/operators/JavaReduceByOperatorTest.java   | 13 +++----
 .../operators/JavaReservoirSampleOperatorTest.java |  9 ++---
 .../java/operators/JavaSortOperatorTest.java       | 11 +++---
 .../java/operators/JavaTextFileSinkTest.java       | 35 ++++++++----------
 .../java/operators/JavaUnionAllOperatorTest.java   |  9 ++---
 .../apache/wayang/java/test/ChannelFactory.java    | 11 +++---
 .../wayang/jdbc/channels/SqlQueryChannel.java      |  3 +-
 .../wayang/jdbc/execution/DatabaseDescriptor.java  |  3 +-
 .../apache/wayang/jdbc/execution/JdbcExecutor.java | 27 +++++++-------
 .../jdbc/operators/JdbcExecutionOperator.java      |  7 ++--
 .../wayang/jdbc/operators/JdbcFilterOperator.java  |  5 +--
 .../jdbc/operators/JdbcProjectionOperator.java     |  5 +--
 .../wayang/jdbc/operators/JdbcTableSource.java     |  9 ++---
 .../wayang/jdbc/operators/SqlToStreamOperator.java | 29 +++++++--------
 .../wayang/jdbc/platform/JdbcPlatformTemplate.java |  3 +-
 .../wayang/jdbc/execution/JdbcExecutorTest.java    | 15 ++++----
 .../wayang/jdbc/operators/JdbcTableSourceTest.java | 17 ++++-----
 .../wayang/jdbc/operators/OperatorTestBase.java    |  8 ++--
 .../jdbc/operators/SqlToStreamOperatorTest.java    | 23 ++++++------
 .../wayang/jdbc/test/HsqldbFilterOperator.java     |  3 +-
 .../wayang/jdbc/test/HsqldbProjectionOperator.java |  3 +-
 .../apache/wayang/jdbc/test/HsqldbTableSource.java |  3 +-
 .../postgres/channels/ChannelConversions.java      |  5 +--
 .../wayang/postgres/mapping/FilterMapping.java     |  5 +--
 .../apache/wayang/postgres/mapping/Mappings.java   |  3 +-
 .../wayang/postgres/mapping/ProjectionMapping.java |  5 +--
 .../postgres/operators/PostgresTableSource.java    |  3 +-
 .../postgres/plugin/PostgresConversionsPlugin.java |  7 ++--
 .../wayang/postgres/plugin/PostgresPlugin.java     |  5 +--
 .../wayang/spark/channels/ChannelConversions.java  |  5 +--
 .../apache/wayang/spark/channels/RddChannel.java   |  4 +-
 .../spark/compiler/BinaryOperatorAdapter.java      |  3 +-
 .../compiler/ExtendedFlatMapFunctionAdapter.java   |  3 +-
 .../ExtendedMapPartitionsFunctionAdapter.java      |  9 ++---
 .../spark/compiler/FlatMapFunctionAdapter.java     |  3 +-
 .../wayang/spark/compiler/FunctionCompiler.java    |  7 ++--
 .../compiler/MapPartitionsFunctionAdapter.java     |  5 +--
 .../wayang/spark/compiler/PredicateAdapter.java    |  3 +-
 .../spark/execution/SparkExecutionContext.java     |  9 ++---
 .../wayang/spark/execution/SparkExecutor.java      |  7 ++--
 .../wayang/spark/mapping/CartesianMapping.java     |  5 +--
 .../wayang/spark/mapping/CoGroupMapping.java       |  5 +--
 .../spark/mapping/CollectionSourceMapping.java     |  5 +--
 .../apache/wayang/spark/mapping/CountMapping.java  |  5 +--
 .../wayang/spark/mapping/DistinctMapping.java      |  5 +--
 .../wayang/spark/mapping/DoWhileMapping.java       |  5 +--
 .../apache/wayang/spark/mapping/FilterMapping.java |  5 +--
 .../wayang/spark/mapping/FlatMapMapping.java       |  5 +--
 .../mapping/GlobalMaterializedGroupMapping.java    |  5 +--
 .../wayang/spark/mapping/GlobalReduceMapping.java  |  5 +--
 .../wayang/spark/mapping/IntersectMapping.java     |  5 +--
 .../apache/wayang/spark/mapping/JoinMapping.java   |  5 +--
 .../spark/mapping/LocalCallbackSinkMapping.java    |  5 +--
 .../apache/wayang/spark/mapping/LoopMapping.java   |  5 +--
 .../apache/wayang/spark/mapping/MapMapping.java    |  5 +--
 .../wayang/spark/mapping/MapPartitionsMapping.java |  5 +--
 .../org/apache/wayang/spark/mapping/Mappings.java  |  5 +--
 .../spark/mapping/MaterializedGroupByMapping.java  |  5 +--
 .../spark/mapping/ObjectFileSinkMapping.java       |  2 -
 .../spark/mapping/ObjectFileSourceMapping.java     |  4 --
 .../wayang/spark/mapping/ReduceByMapping.java      |  5 +--
 .../apache/wayang/spark/mapping/RepeatMapping.java |  5 +--
 .../apache/wayang/spark/mapping/SampleMapping.java |  5 +--
 .../apache/wayang/spark/mapping/SortMapping.java   |  5 +--
 .../wayang/spark/mapping/TextFileSinkMapping.java  |  5 +--
 .../spark/mapping/TextFileSourceMapping.java       |  5 +--
 .../wayang/spark/mapping/UnionAllMapping.java      |  5 +--
 .../wayang/spark/mapping/ZipWithIdMapping.java     |  5 +--
 .../spark/mapping/graph/PageRankMapping.java       |  7 ++--
 .../operators/SparkBernoulliSampleOperator.java    | 13 +++----
 .../spark/operators/SparkBroadcastOperator.java    |  7 ++--
 .../wayang/spark/operators/SparkCacheOperator.java |  9 ++---
 .../spark/operators/SparkCartesianOperator.java    |  9 ++---
 .../spark/operators/SparkCoGroupOperator.java      |  9 ++---
 .../spark/operators/SparkCollectOperator.java      | 11 +++---
 .../spark/operators/SparkCollectionSource.java     | 11 +++---
 .../wayang/spark/operators/SparkCountOperator.java |  9 ++---
 .../spark/operators/SparkDistinctOperator.java     |  9 ++---
 .../spark/operators/SparkDoWhileOperator.java      | 11 +++---
 .../spark/operators/SparkExecutionOperator.java    |  3 +-
 .../spark/operators/SparkFilterOperator.java       | 11 +++---
 .../spark/operators/SparkFlatMapOperator.java      | 11 +++---
 .../SparkGlobalMaterializedGroupOperator.java      | 13 +++----
 .../spark/operators/SparkGlobalReduceOperator.java | 11 +++---
 .../spark/operators/SparkIntersectOperator.java    |  9 ++---
 .../wayang/spark/operators/SparkJoinOperator.java  | 11 +++---
 .../spark/operators/SparkLocalCallbackSink.java    | 11 +++---
 .../wayang/spark/operators/SparkLoopOperator.java  | 11 +++---
 .../wayang/spark/operators/SparkMapOperator.java   | 11 +++---
 .../operators/SparkMapPartitionsOperator.java      | 13 +++----
 .../SparkMaterializedGroupByOperator.java          | 11 +++---
 .../spark/operators/SparkObjectFileSink.java       | 10 ++---
 .../spark/operators/SparkObjectFileSource.java     | 12 +++---
 .../SparkRandomPartitionSampleOperator.java        | 31 ++++++++--------
 .../spark/operators/SparkReduceByOperator.java     | 11 +++---
 .../spark/operators/SparkRepeatOperator.java       |  9 ++---
 .../SparkShufflePartitionSampleOperator.java       | 19 +++++-----
 .../wayang/spark/operators/SparkSortOperator.java  |  9 ++---
 .../wayang/spark/operators/SparkTextFileSink.java  |  9 ++---
 .../spark/operators/SparkTextFileSource.java       |  9 ++---
 .../wayang/spark/operators/SparkTsvFileSink.java   |  9 ++---
 .../wayang/spark/operators/SparkTsvFileSource.java |  7 ++--
 .../spark/operators/SparkUnionAllOperator.java     |  9 ++---
 .../spark/operators/SparkZipWithIdOperator.java    |  9 ++---
 .../wayang/spark/platform/SparkPlatform.java       |  9 ++---
 .../wayang/spark/plugin/SparkBasicPlugin.java      |  5 +--
 .../wayang/spark/plugin/SparkConversionPlugin.java |  7 ++--
 .../wayang/spark/plugin/SparkGraphPlugin.java      |  5 +--
 .../SparkBernoulliSampleOperatorTest.java          | 11 +++---
 .../operators/SparkCartesianOperatorTest.java      |  9 ++---
 .../spark/operators/SparkCoGroupOperatorTest.java  | 19 +++++-----
 .../spark/operators/SparkCollectionSourceTest.java | 11 +++---
 .../spark/operators/SparkCountOperatorTest.java    |  9 ++---
 .../spark/operators/SparkDistinctOperatorTest.java |  9 ++---
 .../spark/operators/SparkFilterOperatorTest.java   |  9 ++---
 .../spark/operators/SparkFlatMapOperatorTest.java  |  9 ++---
 .../SparkGlobalMaterializedGroupOperatorTest.java  | 11 +++---
 .../operators/SparkGlobalReduceOperatorTest.java   | 13 +++----
 .../spark/operators/SparkJoinOperatorTest.java     |  9 ++---
 .../operators/SparkMapPartitionsOperatorTest.java  | 11 +++---
 .../SparkMaterializedGroupByOperatorTest.java      | 17 ++++-----
 .../spark/operators/SparkObjectFileSinkTest.java   | 13 +++----
 .../spark/operators/SparkObjectFileSourceTest.java | 15 ++++----
 .../spark/operators/SparkOperatorTestBase.java     | 11 +++---
 .../SparkRandomPartitionSampleOperatorTest.java    |  9 ++---
 .../spark/operators/SparkReduceByOperatorTest.java | 15 ++++----
 .../SparkShufflePartitionSampleOperatorTest.java   |  9 ++---
 .../spark/operators/SparkSortOperatorTest.java     |  9 ++---
 .../spark/operators/SparkTextFileSinkTest.java     |  9 ++---
 .../spark/operators/SparkUnionAllOperatorTest.java |  9 ++---
 .../apache/wayang/spark/test/ChannelFactory.java   |  9 ++---
 .../sqlite3/channels/ChannelConversions.java       |  5 +--
 .../wayang/sqlite3/mapping/FilterMapping.java      |  5 +--
 .../apache/wayang/sqlite3/mapping/Mappings.java    |  3 +-
 .../wayang/sqlite3/mapping/ProjectionMapping.java  |  5 +--
 .../sqlite3/operators/Sqlite3TableSource.java      |  3 +-
 .../sqlite3/plugin/Sqlite3ConversionPlugin.java    |  7 ++--
 .../wayang/sqlite3/plugin/Sqlite3Plugin.java       |  5 +--
 .../main/java/org/apache/wayang/iejoin/IEJoin.java |  9 ++---
 .../org/apache/wayang/iejoin/mapping/Mappings.java |  5 +--
 .../wayang/iejoin/mapping/java/IEJoinMapping.java  |  5 +--
 .../iejoin/mapping/java/IESelfJoinMapping.java     |  5 +--
 .../wayang/iejoin/mapping/spark/IEJoinMapping.java |  5 +--
 .../iejoin/mapping/spark/IESelfJoinMapping.java    |  5 +--
 .../iejoin/operators/JavaIEJoinOperator.java       | 17 ++++-----
 .../iejoin/operators/JavaIESelfJoinOperator.java   | 17 ++++-----
 .../iejoin/operators/SparkIEJoinOperator.java      | 13 +++----
 .../iejoin/operators/SparkIESelfJoinOperator.java  | 13 +++----
 .../iejoin/operators/java_helpers/BitSetJoin.java  |  5 +--
 .../operators/java_helpers/DataComparator.java     |  5 +--
 .../iejoin/operators/java_helpers/extractData.java |  3 +-
 .../iejoin/operators/java_helpers/myMergeSort.java |  5 +--
 .../operators/java_helpers/revDataComparator.java  |  5 +--
 .../iejoin/operators/spark_helpers/BitSetJoin.java |  7 ++--
 .../spark_helpers/List2AttributesObjectSkinny.java |  3 +-
 .../operators/spark_helpers/addUniqueID.java       |  5 +--
 .../operators/spark_helpers/build2ListObject.java  |  7 ++--
 .../operators/spark_helpers/myMergeSort.java       |  3 +-
 .../operators/spark_helpers/revDataComparator.java |  3 +-
 .../operators/JavaExecutionOperatorTestBase.java   | 13 +++----
 .../iejoin/operators/JavaIEJoinOperatorTest.java   | 13 +++----
 .../iejoin/operators/SparkIEJoinOperatorTest.java  |  9 ++---
 .../iejoin/operators/SparkIEJoinOperatorTest2.java |  9 ++---
 .../iejoin/operators/SparkIEJoinOperatorTest3.java |  9 ++---
 .../iejoin/operators/SparkIEJoinOperatorTest4.java |  9 ++---
 .../operators/SparkIESelfJoinOperatorTest.java     |  9 ++---
 .../iejoin/operators/SparkOperatorTestBase.java    | 11 +++---
 .../apache/wayang/iejoin/test/ChannelFactory.java  | 11 +++---
 .../wayang/profiler/data/DataGenerators.java       |  3 +-
 .../wayang/profiler/hardware/DiskProfiler.java     | 11 +++---
 .../profiler/java/BinaryOperatorProfiler.java      |  7 ++--
 .../java/JavaCollectionSourceProfiler.java         |  5 +--
 .../profiler/java/JavaTextFileSourceProfiler.java  |  3 +-
 .../wayang/profiler/java/OperatorProfiler.java     | 17 ++++-----
 .../wayang/profiler/java/OperatorProfilers.java    | 13 +++----
 .../org/apache/wayang/profiler/java/Profiler.java  | 15 ++++----
 .../apache/wayang/profiler/java/SinkProfiler.java  |  7 ++--
 .../wayang/profiler/java/SourceProfiler.java       |  6 +--
 .../profiler/java/UnaryOperatorProfiler.java       |  7 ++--
 .../profiler/log/DynamicEstimationContext.java     |  3 +-
 .../wayang/profiler/log/DynamicLoadEstimator.java  | 13 +++----
 .../profiler/log/DynamicLoadProfileEstimator.java  |  7 ++--
 .../profiler/log/DynamicLoadProfileEstimators.java |  9 ++---
 .../wayang/profiler/log/GeneticOptimizer.java      | 15 ++++----
 .../wayang/profiler/log/GeneticOptimizerApp.java   | 39 ++++++++++----------
 .../org/apache/wayang/profiler/log/Individual.java | 11 +++---
 .../apache/wayang/profiler/log/LogEvaluator.java   | 23 ++++++------
 .../wayang/profiler/log/OptimizationSpace.java     |  3 +-
 .../profiler/spark/BinaryOperatorProfiler.java     |  3 +-
 .../org/apache/wayang/profiler/spark/Main.java     | 15 ++++----
 .../wayang/profiler/spark/OperatorProfilers.java   |  7 ++--
 .../apache/wayang/profiler/spark/SinkProfiler.java |  3 +-
 .../spark/SparkCollectionSourceProfiler.java       |  5 +--
 .../profiler/spark/SparkOperatorProfiler.java      | 19 +++++-----
 .../wayang/profiler/spark/SparkSourceProfiler.java |  3 +-
 .../spark/SparkTextFileSourceProfiler.java         |  9 ++---
 .../profiler/spark/SparkUnaryOperatorProfiler.java |  3 +-
 .../wayang/profiler/util/ProfilingUtils.java       |  2 +-
 .../apache/wayang/profiler/util/RrdAccessor.java   |  9 ++---
 .../apache/wayang/tests/FlinkIntegrationIT.java    | 25 ++++++-------
 .../org/apache/wayang/tests/FullIntegrationIT.java | 41 ++++++++++-----------
 .../apache/wayang/tests/GiraphIntegrationIT.java   | 15 ++++----
 .../org/apache/wayang/tests/JavaIntegrationIT.java | 33 ++++++++---------
 .../apache/wayang/tests/PostgresIntegrationIT.java | 11 +++---
 .../java/org/apache/wayang/tests/RegressionIT.java |  9 ++---
 .../apache/wayang/tests/SparkIntegrationIT.java    | 33 ++++++++---------
 .../java/org/apache/wayang/tests/WayangPlans.java  | 27 +++++++-------
 .../apache/wayang/tests/WayangPlansOperators.java  |  9 ++---
 .../java/org/apache/wayang/tests/WordCountIT.java  | 25 ++++++-------
 .../wayang/tests/platform/MyMadeUpPlatform.java    |  9 ++---
 637 files changed, 2413 insertions(+), 3021 deletions(-)

diff --git a/wayang-api/wayang-api-python/src/test/java/org/apache/wayang/api/python/PythonAPITest.java b/wayang-api/wayang-api-python/src/test/java/org/apache/wayang/api/python/PythonAPITest.java
index e841298..189ee20 100644
--- a/wayang-api/wayang-api-python/src/test/java/org/apache/wayang/api/python/PythonAPITest.java
+++ b/wayang-api/wayang-api-python/src/test/java/org/apache/wayang/api/python/PythonAPITest.java
@@ -18,8 +18,6 @@
 
 package org.apache.wayang.api.python;
 
-import static org.junit.jupiter.api.Assertions.*;
-
 class PythonAPITest {
 
-}
\ No newline at end of file
+}
diff --git a/wayang-api/wayang-api-scala-java/src/main/scala/org/apache/wayang/api/DataQuanta.scala b/wayang-api/wayang-api-scala-java/src/main/scala/org/apache/wayang/api/DataQuanta.scala
index c977576..22956a1 100644
--- a/wayang-api/wayang-api-scala-java/src/main/scala/org/apache/wayang/api/DataQuanta.scala
+++ b/wayang-api/wayang-api-scala-java/src/main/scala/org/apache/wayang/api/DataQuanta.scala
@@ -22,9 +22,12 @@ package org.apache.wayang.api
 import _root_.java.lang.{Iterable => JavaIterable}
 import _root_.java.util.function.{Consumer, IntUnaryOperator, BiFunction => JavaBiFunction, Function => JavaFunction}
 import _root_.java.util.{Collection => JavaCollection}
+
 import org.apache.commons.lang3.Validate
+import org.apache.wayang.basic.data.{Tuple2 => WayangTuple2}
 import org.apache.wayang.basic.function.ProjectionDescriptor
 import org.apache.wayang.basic.operators._
+import org.apache.wayang.commons.util.profiledb.model.Experiment
 import org.apache.wayang.core.function.FunctionDescriptor.{SerializableBinaryOperator, SerializableFunction, SerializablePredicate}
 import org.apache.wayang.core.function._
 import org.apache.wayang.core.optimizer.ProbabilisticDoubleInterval
@@ -33,8 +36,6 @@ import org.apache.wayang.core.optimizer.costs.LoadProfileEstimator
 import org.apache.wayang.core.plan.wayangplan._
 import org.apache.wayang.core.platform.Platform
 import org.apache.wayang.core.util.{Tuple => WayangTuple}
-import org.apache.wayang.basic.data.{Tuple2 => WayangTuple2}
-import org.apache.wayang.commons.util.profiledb.model.Experiment
 
 import scala.collection.JavaConversions
 import scala.collection.JavaConversions._
diff --git a/wayang-api/wayang-api-scala-java/src/main/scala/org/apache/wayang/api/DataQuantaBuilder.scala b/wayang-api/wayang-api-scala-java/src/main/scala/org/apache/wayang/api/DataQuantaBuilder.scala
index 29b4965..6ab7eec 100644
--- a/wayang-api/wayang-api-scala-java/src/main/scala/org/apache/wayang/api/DataQuantaBuilder.scala
+++ b/wayang-api/wayang-api-scala-java/src/main/scala/org/apache/wayang/api/DataQuantaBuilder.scala
@@ -21,6 +21,7 @@ package org.apache.wayang.api
 
 import java.util.function.{Consumer, IntUnaryOperator, Function => JavaFunction}
 import java.util.{Collection => JavaCollection}
+
 import org.apache.wayang.api.graph.{Edge, EdgeDataQuantaBuilder, EdgeDataQuantaBuilderDecorator}
 import org.apache.wayang.api.util.{DataQuantaBuilderCache, TypeTrap}
 import org.apache.wayang.basic.data.{Record, Tuple2 => RT2}
diff --git a/wayang-api/wayang-api-scala-java/src/main/scala/org/apache/wayang/api/JavaPlanBuilder.scala b/wayang-api/wayang-api-scala-java/src/main/scala/org/apache/wayang/api/JavaPlanBuilder.scala
index d21870a..53e9207 100644
--- a/wayang-api/wayang-api-scala-java/src/main/scala/org/apache/wayang/api/JavaPlanBuilder.scala
+++ b/wayang-api/wayang-api-scala-java/src/main/scala/org/apache/wayang/api/JavaPlanBuilder.scala
@@ -19,6 +19,7 @@
 package org.apache.wayang.api
 
 import java.util.{Collection => JavaCollection}
+
 import org.apache.commons.lang3.Validate
 import org.apache.wayang.api.util.DataQuantaBuilderCache
 import org.apache.wayang.basic.data.Record
diff --git a/wayang-api/wayang-api-scala-java/src/test/java/org/apache/wayang/api/JavaApiTest.java b/wayang-api/wayang-api-scala-java/src/test/java/org/apache/wayang/api/JavaApiTest.java
index 2d4bb6c..420a82e 100644
--- a/wayang-api/wayang-api-scala-java/src/test/java/org/apache/wayang/api/JavaApiTest.java
+++ b/wayang-api/wayang-api-scala-java/src/test/java/org/apache/wayang/api/JavaApiTest.java
@@ -18,27 +18,6 @@
 
 package org.apache.wayang.api;
 
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.apache.wayang.basic.data.Tuple2;
-import org.apache.wayang.core.api.Configuration;
-import org.apache.wayang.core.api.WayangContext;
-import org.apache.wayang.core.function.ExecutionContext;
-import org.apache.wayang.core.function.FunctionDescriptor;
-import org.apache.wayang.core.function.PredicateDescriptor;
-import org.apache.wayang.core.function.TransformationDescriptor;
-import org.apache.wayang.core.types.DataSetType;
-import org.apache.wayang.core.util.WayangArrays;
-import org.apache.wayang.core.util.WayangCollections;
-import org.apache.wayang.core.util.Tuple;
-import org.apache.wayang.core.util.fs.LocalFileSystem;
-import org.apache.wayang.java.Java;
-import org.apache.wayang.java.operators.JavaMapOperator;
-import org.apache.wayang.spark.Spark;
-import org.apache.wayang.sqlite3.Sqlite3;
-import org.apache.wayang.sqlite3.operators.Sqlite3TableSource;
-
 import java.io.File;
 import java.io.IOException;
 import java.net.URI;
@@ -56,6 +35,26 @@ import java.util.List;
 import java.util.Set;
 import java.util.stream.Collectors;
 import java.util.stream.StreamSupport;
+import org.apache.wayang.basic.data.Tuple2;
+import org.apache.wayang.core.api.Configuration;
+import org.apache.wayang.core.api.WayangContext;
+import org.apache.wayang.core.function.ExecutionContext;
+import org.apache.wayang.core.function.FunctionDescriptor;
+import org.apache.wayang.core.function.PredicateDescriptor;
+import org.apache.wayang.core.function.TransformationDescriptor;
+import org.apache.wayang.core.types.DataSetType;
+import org.apache.wayang.core.util.Tuple;
+import org.apache.wayang.core.util.WayangArrays;
+import org.apache.wayang.core.util.WayangCollections;
+import org.apache.wayang.core.util.fs.LocalFileSystem;
+import org.apache.wayang.java.Java;
+import org.apache.wayang.java.operators.JavaMapOperator;
+import org.apache.wayang.spark.Spark;
+import org.apache.wayang.sqlite3.Sqlite3;
+import org.apache.wayang.sqlite3.operators.Sqlite3TableSource;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
 
 /**
  * Test suite for the Java API.
diff --git a/wayang-api/wayang-api-scala-java/src/test/scala/org/apache/wayang/api/ApiTest.scala b/wayang-api/wayang-api-scala-java/src/test/scala/org/apache/wayang/api/ApiTest.scala
index cc05bd2..83e2548 100644
--- a/wayang-api/wayang-api-scala-java/src/test/scala/org/apache/wayang/api/ApiTest.scala
+++ b/wayang-api/wayang-api-scala-java/src/test/scala/org/apache/wayang/api/ApiTest.scala
@@ -24,7 +24,6 @@ import java.nio.file.{Files, Paths}
 import java.sql.{Connection, Statement}
 import java.util.function.Consumer
 
-import org.junit.{Assert, Test}
 import org.apache.wayang.basic.WayangBasics
 import org.apache.wayang.core.api.{Configuration, WayangContext}
 import org.apache.wayang.core.function.FunctionDescriptor.ExtendedSerializablePredicate
@@ -35,6 +34,7 @@ import org.apache.wayang.java.operators.JavaMapOperator
 import org.apache.wayang.spark.Spark
 import org.apache.wayang.sqlite3.Sqlite3
 import org.apache.wayang.sqlite3.operators.Sqlite3TableSource
+import org.junit.{Assert, Test}
 
 /**
   * Tests the Wayang API.
diff --git a/wayang-benchmark/pom.xml b/wayang-benchmark/pom.xml
index 5ca2b06..829ec88 100644
--- a/wayang-benchmark/pom.xml
+++ b/wayang-benchmark/pom.xml
@@ -77,11 +77,6 @@
       <version>2.7.7</version>
     </dependency>
     <dependency>
-      <groupId>org.apache.hadoop</groupId>
-      <artifactId>hadoop-hdfs-client</artifactId>
-      <version>2.7.7</version>
-    </dependency>
-    <dependency>
       <groupId>org.apache.spark</groupId>
       <artifactId>spark-core_${scala.mayor.version}</artifactId>
       <version>${spark.version}</version>
diff --git a/wayang-benchmark/src/main/java/org/apache/wayang/apps/sgd/SGDImpl.java b/wayang-benchmark/src/main/java/org/apache/wayang/apps/sgd/SGDImpl.java
index dbd7eac..d953908 100644
--- a/wayang-benchmark/src/main/java/org/apache/wayang/apps/sgd/SGDImpl.java
+++ b/wayang-benchmark/src/main/java/org/apache/wayang/apps/sgd/SGDImpl.java
@@ -18,6 +18,9 @@
 
 package org.apache.wayang.apps.sgd;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
 import org.apache.wayang.api.DataQuantaBuilder;
 import org.apache.wayang.api.JavaPlanBuilder;
 import org.apache.wayang.basic.data.Tuple2;
@@ -27,12 +30,8 @@ import org.apache.wayang.core.api.WayangContext;
 import org.apache.wayang.core.function.ExecutionContext;
 import org.apache.wayang.core.function.FunctionDescriptor;
 import org.apache.wayang.core.plugin.Plugin;
-import org.apache.wayang.core.util.WayangCollections;
 import org.apache.wayang.core.util.Tuple;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
+import org.apache.wayang.core.util.WayangCollections;
 
 /**
  * This class executes a stochastic gradient descent optimization on Apache Wayang.
diff --git a/wayang-benchmark/src/main/java/org/apache/wayang/apps/sgd/SGDImprovedImpl.java b/wayang-benchmark/src/main/java/org/apache/wayang/apps/sgd/SGDImprovedImpl.java
index 1532f57..866fab1 100644
--- a/wayang-benchmark/src/main/java/org/apache/wayang/apps/sgd/SGDImprovedImpl.java
+++ b/wayang-benchmark/src/main/java/org/apache/wayang/apps/sgd/SGDImprovedImpl.java
@@ -18,22 +18,21 @@
 
 package org.apache.wayang.apps.sgd;
 
-import org.apache.wayang.commons.util.profiledb.model.Experiment;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
 import org.apache.wayang.api.DataQuantaBuilder;
 import org.apache.wayang.api.JavaPlanBuilder;
 import org.apache.wayang.basic.data.Tuple2;
+import org.apache.wayang.commons.util.profiledb.model.Experiment;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.api.WayangContext;
 import org.apache.wayang.core.function.ExecutionContext;
 import org.apache.wayang.core.function.FunctionDescriptor;
 import org.apache.wayang.core.plugin.Plugin;
-import org.apache.wayang.core.util.WayangCollections;
 import org.apache.wayang.core.util.Tuple;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
+import org.apache.wayang.core.util.WayangCollections;
 
 /**
  * This class executes a stochastic gradient descent optimization on Apache Wayang, just like {@link SGDImpl}. However,
diff --git a/wayang-benchmark/src/main/java/org/apache/wayang/apps/tpch/Main.java b/wayang-benchmark/src/main/java/org/apache/wayang/apps/tpch/Main.java
index c020b34..f77abe2 100644
--- a/wayang-benchmark/src/main/java/org/apache/wayang/apps/tpch/Main.java
+++ b/wayang-benchmark/src/main/java/org/apache/wayang/apps/tpch/Main.java
@@ -21,14 +21,17 @@ package org.apache.wayang.apps.tpch;
 import org.apache.wayang.apps.tpch.data.LineItemTuple;
 import org.apache.wayang.apps.tpch.data.q1.GroupKey;
 import org.apache.wayang.apps.tpch.data.q1.ReturnTuple;
-import org.apache.wayang.basic.operators.*;
+import org.apache.wayang.basic.operators.FilterOperator;
+import org.apache.wayang.basic.operators.LocalCallbackSink;
+import org.apache.wayang.basic.operators.MapOperator;
+import org.apache.wayang.basic.operators.ReduceByOperator;
+import org.apache.wayang.basic.operators.TextFileSource;
 import org.apache.wayang.core.api.WayangContext;
 import org.apache.wayang.core.plan.wayangplan.WayangPlan;
 import org.apache.wayang.core.util.ReflectionUtils;
 import org.apache.wayang.java.Java;
 import org.apache.wayang.java.platform.JavaPlatform;
 import org.apache.wayang.spark.Spark;
-import org.apache.wayang.spark.platform.SparkPlatform;
 
 /**
  * Main class for the TPC-H app based on Apache Wayang.
diff --git a/wayang-benchmark/src/main/java/org/apache/wayang/apps/wordcount/Main.java b/wayang-benchmark/src/main/java/org/apache/wayang/apps/wordcount/Main.java
index 9b613cd..0cd0f4d 100644
--- a/wayang-benchmark/src/main/java/org/apache/wayang/apps/wordcount/Main.java
+++ b/wayang-benchmark/src/main/java/org/apache/wayang/apps/wordcount/Main.java
@@ -18,8 +18,19 @@
 
 package org.apache.wayang.apps.wordcount;
 
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.LinkedList;
+import java.util.List;
 import org.apache.wayang.basic.data.Tuple2;
-import org.apache.wayang.basic.operators.*;
+import org.apache.wayang.basic.operators.FilterOperator;
+import org.apache.wayang.basic.operators.FlatMapOperator;
+import org.apache.wayang.basic.operators.LocalCallbackSink;
+import org.apache.wayang.basic.operators.MapOperator;
+import org.apache.wayang.basic.operators.ReduceByOperator;
+import org.apache.wayang.basic.operators.TextFileSource;
 import org.apache.wayang.core.api.WayangContext;
 import org.apache.wayang.core.function.FlatMapDescriptor;
 import org.apache.wayang.core.function.ReduceDescriptor;
@@ -32,14 +43,6 @@ import org.apache.wayang.core.util.ReflectionUtils;
 import org.apache.wayang.java.Java;
 import org.apache.wayang.java.platform.JavaPlatform;
 import org.apache.wayang.spark.Spark;
-import org.apache.wayang.spark.platform.SparkPlatform;
-
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.LinkedList;
-import java.util.List;
 
 /**
  * Example Apache Wayang App that does a word count -- the Hello World of Map/Reduce-like systems.
diff --git a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/benchmark/OptimizerScalabilityTest.scala b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/benchmark/OptimizerScalabilityTest.scala
index f1c598a..d4b6b39 100644
--- a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/benchmark/OptimizerScalabilityTest.scala
+++ b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/benchmark/OptimizerScalabilityTest.scala
@@ -19,7 +19,6 @@
 package org.apache.wayang.apps.benchmark
 
 import org.apache.wayang.apps.util.{ExperimentDescriptor, Parameters, ProfileDBHelper}
-import org.apache.wayang.apps.util.ProfileDBHelper
 import org.apache.wayang.core.api.{Configuration, WayangContext}
 
 /**
diff --git a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/benchmark/PlanGenerator.scala b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/benchmark/PlanGenerator.scala
index 7aaccbe..3e7f720 100644
--- a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/benchmark/PlanGenerator.scala
+++ b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/benchmark/PlanGenerator.scala
@@ -18,8 +18,8 @@
 
 package org.apache.wayang.apps.benchmark
 
-import org.apache.wayang.commons.util.profiledb.model.Experiment
 import org.apache.wayang.api.{DataQuanta, PlanBuilder}
+import org.apache.wayang.commons.util.profiledb.model.Experiment
 import org.apache.wayang.core.api.WayangContext
 import org.apache.wayang.core.plan.wayangplan.WayangPlan
 
diff --git a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/crocopr/CrocoPR.scala b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/crocopr/CrocoPR.scala
index 9a92ba5..7f16921 100644
--- a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/crocopr/CrocoPR.scala
+++ b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/crocopr/CrocoPR.scala
@@ -18,10 +18,9 @@
 
 package org.apache.wayang.apps.crocopr
 
-import org.apache.wayang.apps.util.{ExperimentDescriptor, Parameters, ProfileDBHelper, StdOut}
 import org.apache.wayang.api.graph._
 import org.apache.wayang.api.{DataQuanta, PlanBuilder}
-import org.apache.wayang.apps.util.ProfileDBHelper
+import org.apache.wayang.apps.util.{ExperimentDescriptor, Parameters, ProfileDBHelper, StdOut}
 import org.apache.wayang.commons.util.profiledb.model.Experiment
 import org.apache.wayang.core.api.exception.WayangException
 import org.apache.wayang.core.api.{Configuration, WayangContext}
diff --git a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/kmeans/Kmeans.scala b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/kmeans/Kmeans.scala
index 5a1f1fc..bad00ec 100644
--- a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/kmeans/Kmeans.scala
+++ b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/kmeans/Kmeans.scala
@@ -18,11 +18,10 @@
 
 package org.apache.wayang.apps.kmeans
 
-import org.apache.wayang.apps.util.{ExperimentDescriptor, Parameters, ProfileDBHelper}
-
 import java.util
+
 import org.apache.wayang.api._
-import org.apache.wayang.apps.util.ProfileDBHelper
+import org.apache.wayang.apps.util.{ExperimentDescriptor, Parameters, ProfileDBHelper}
 import org.apache.wayang.commons.util.profiledb.model.Experiment
 import org.apache.wayang.core.api.{Configuration, WayangContext}
 import org.apache.wayang.core.function.ExecutionContext
diff --git a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/kmeans/postgres/Kmeans.scala b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/kmeans/postgres/Kmeans.scala
index 301d953..362de09 100644
--- a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/kmeans/postgres/Kmeans.scala
+++ b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/kmeans/postgres/Kmeans.scala
@@ -18,11 +18,10 @@
 
 package org.apache.wayang.apps.kmeans.postgres
 
-import org.apache.wayang.apps.util.{ExperimentDescriptor, Parameters, ProfileDBHelper}
-
 import java.util
+
 import org.apache.wayang.api.{PlanBuilder, _}
-import org.apache.wayang.apps.util.ProfileDBHelper
+import org.apache.wayang.apps.util.{ExperimentDescriptor, Parameters, ProfileDBHelper}
 import org.apache.wayang.commons.util.profiledb.model.Experiment
 import org.apache.wayang.core.api.{Configuration, WayangContext}
 import org.apache.wayang.core.function.ExecutionContext
diff --git a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/sgd/SGD.scala b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/sgd/SGD.scala
index 981cf1d..2fa5189 100644
--- a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/sgd/SGD.scala
+++ b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/sgd/SGD.scala
@@ -19,7 +19,6 @@
 package org.apache.wayang.apps.sgd
 
 import org.apache.wayang.apps.util.{ExperimentDescriptor, Parameters, ProfileDBHelper}
-import org.apache.wayang.apps.util.ProfileDBHelper
 import org.apache.wayang.core.api.Configuration
 
 /**
diff --git a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/simwords/ScrubFunction.scala b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/simwords/ScrubFunction.scala
index a24f403..246f38e 100644
--- a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/simwords/ScrubFunction.scala
+++ b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/simwords/ScrubFunction.scala
@@ -18,7 +18,6 @@
 
 package org.apache.wayang.apps.simwords
 
-import java.lang.Iterable
 import java.util
 
 import org.apache.wayang.core.function.ExecutionContext
@@ -33,7 +32,7 @@ class ScrubFunction extends ExtendedSerializableFunction[String, java.lang.Itera
 
   override def open(ctx: ExecutionContext): Unit = {}
 
-  override def apply(line: String): Iterable[String] = {
+  override def apply(line: String): java.lang.Iterable[String] = {
     val result = new util.LinkedList[String]()
     textScrubber.splitAndScrub(line, result)
     result
diff --git a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/simwords/SelectNearestCentroidFunction.scala b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/simwords/SelectNearestCentroidFunction.scala
index 933acee..37eaefb 100644
--- a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/simwords/SelectNearestCentroidFunction.scala
+++ b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/simwords/SelectNearestCentroidFunction.scala
@@ -18,10 +18,10 @@
 
 package org.apache.wayang.apps.simwords
 
+import org.apache.logging.log4j.LogManager
 import org.apache.wayang.core.function.ExecutionContext
 import org.apache.wayang.core.function.FunctionDescriptor.ExtendedSerializableFunction
 import org.apache.wayang.core.util.WayangCollections
-import org.apache.logging.log4j.LogManager
 
 import scala.collection.JavaConversions._
 import scala.util.Random
diff --git a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/simwords/SimWords.scala b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/simwords/SimWords.scala
index f1ace56..183e52a 100644
--- a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/simwords/SimWords.scala
+++ b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/simwords/SimWords.scala
@@ -18,9 +18,8 @@
 
 package org.apache.wayang.apps.simwords
 
-import org.apache.wayang.apps.util.{ExperimentDescriptor, Parameters, ProfileDBHelper}
 import org.apache.wayang.api._
-import org.apache.wayang.apps.util.ProfileDBHelper
+import org.apache.wayang.apps.util.{ExperimentDescriptor, Parameters, ProfileDBHelper}
 import org.apache.wayang.commons.util.profiledb.model.Experiment
 import org.apache.wayang.core.api.{Configuration, WayangContext}
 import org.apache.wayang.core.optimizer.ProbabilisticDoubleInterval
diff --git a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/simwords/Word2NVec.scala b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/simwords/Word2NVec.scala
index adbe05c..5696800 100644
--- a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/simwords/Word2NVec.scala
+++ b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/simwords/Word2NVec.scala
@@ -18,9 +18,8 @@
 
 package org.apache.wayang.apps.simwords
 
-import org.apache.wayang.apps.util.{ExperimentDescriptor, Parameters, ProfileDBHelper}
 import org.apache.wayang.api._
-import org.apache.wayang.apps.util.ProfileDBHelper
+import org.apache.wayang.apps.util.{ExperimentDescriptor, Parameters, ProfileDBHelper}
 import org.apache.wayang.commons.util.profiledb.model.Experiment
 import org.apache.wayang.core.api.{Configuration, WayangContext}
 import org.apache.wayang.core.function.ExecutionContext
diff --git a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/sindy/Sindy.scala b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/sindy/Sindy.scala
index 01db9ea..f189f70 100644
--- a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/sindy/Sindy.scala
+++ b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/sindy/Sindy.scala
@@ -18,13 +18,11 @@
 
 package org.apache.wayang.apps.sindy
 
-import java.lang.Iterable
 import java.util
+
 import org.apache.wayang.api._
-import org.apache.wayang.apps
-import Sindy.{CellCreator, CellMerger, IndCandidateGenerator, IndCandidateMerger}
+import org.apache.wayang.apps.sindy.Sindy.{CellCreator, CellMerger, IndCandidateGenerator, IndCandidateMerger}
 import org.apache.wayang.apps.util.{ExperimentDescriptor, Parameters, ProfileDBHelper, StdOut}
-import org.apache.wayang.apps.util.ProfileDBHelper
 import org.apache.wayang.commons.util.profiledb.model.Experiment
 import org.apache.wayang.core.api.{Configuration, WayangContext}
 import org.apache.wayang.core.function.FunctionDescriptor.{SerializableBinaryOperator, SerializableFunction}
@@ -149,7 +147,7 @@ object Sindy extends ExperimentDescriptor {
     */
   class CellCreator(val offset: Int, val separator: Char) extends SerializableFunction[String, java.lang.Iterable[(String, Int)]] {
 
-    override def apply(row: String): Iterable[(String, Int)] = {
+    override def apply(row: String): java.lang.Iterable[(String, Int)] = {
       val fields = row.split(separator)
       val cells = new util.ArrayList[(String, Int)](fields.length)
       var columnId = offset
diff --git a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/tpch/TpcH.scala b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/tpch/TpcH.scala
index 60e35a7..3c101e8 100644
--- a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/tpch/TpcH.scala
+++ b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/tpch/TpcH.scala
@@ -20,8 +20,6 @@ package org.apache.wayang.apps.tpch
 
 import org.apache.wayang.apps.tpch.queries.{Query1, Query3Database, Query3File, Query3Hybrid}
 import org.apache.wayang.apps.util.{Parameters, ProfileDBHelper, StdOut}
-import org.apache.wayang.apps.tpch.queries.Query1
-import org.apache.wayang.apps.util.ProfileDBHelper
 import org.apache.wayang.commons.util.profiledb.model.Experiment
 import org.apache.wayang.core.api.Configuration
 import org.apache.wayang.jdbc.platform.JdbcPlatformTemplate
@@ -30,7 +28,7 @@ import org.apache.wayang.postgres.operators.PostgresTableSource
 import org.apache.wayang.sqlite3.Sqlite3
 import org.apache.wayang.sqlite3.operators.Sqlite3TableSource
 
-import scala.collection.JavaConversions._
+import scala.collection.JavaConverters
 
 /**
   * This app adapts some TPC-H queries.
@@ -50,7 +48,14 @@ object TpcH {
 
     val jdbcPlatform = {
       val jdbcPlatforms = plugins
-        .flatMap(_.getRequiredPlatforms)
+        .flatMap(
+          plugin => {
+            JavaConverters
+              .collectionAsScalaIterable(
+                plugin.getRequiredPlatforms
+              )
+              .toSeq
+          })
         .filter(_.isInstanceOf[JdbcPlatformTemplate])
         .distinct
       if (jdbcPlatforms.size == 1) jdbcPlatforms.head.asInstanceOf[JdbcPlatformTemplate]
diff --git a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/tpch/queries/Query1.scala b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/tpch/queries/Query1.scala
index 01c6a3d..b63af06 100644
--- a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/tpch/queries/Query1.scala
+++ b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/tpch/queries/Query1.scala
@@ -18,10 +18,10 @@
 
 package org.apache.wayang.apps.tpch.queries
 
+import org.apache.wayang.api._
 import org.apache.wayang.apps.tpch.CsvUtils
 import org.apache.wayang.apps.tpch.data.LineItem
 import org.apache.wayang.apps.util.ExperimentDescriptor
-import org.apache.wayang.api._
 import org.apache.wayang.commons.util.profiledb.model.Experiment
 import org.apache.wayang.core.api.{Configuration, WayangContext}
 import org.apache.wayang.core.plugin.Plugin
diff --git a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/tpch/queries/Query3Database.scala b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/tpch/queries/Query3Database.scala
index d3ea4e7..f146555 100644
--- a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/tpch/queries/Query3Database.scala
+++ b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/tpch/queries/Query3Database.scala
@@ -18,11 +18,10 @@
 
 package org.apache.wayang.apps.tpch.queries
 
+import org.apache.wayang.api._
 import org.apache.wayang.apps.tpch.CsvUtils
 import org.apache.wayang.apps.tpch.data.{Customer, LineItem, Order}
 import org.apache.wayang.apps.util.ExperimentDescriptor
-import org.apache.wayang.api._
-import org.apache.wayang.apps.tpch.data.LineItem
 import org.apache.wayang.commons.util.profiledb.model.Experiment
 import org.apache.wayang.core.api.{Configuration, WayangContext}
 import org.apache.wayang.core.plugin.Plugin
diff --git a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/tpch/queries/Query3File.scala b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/tpch/queries/Query3File.scala
index 171e184..63aef01 100644
--- a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/tpch/queries/Query3File.scala
+++ b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/tpch/queries/Query3File.scala
@@ -18,11 +18,10 @@
 
 package org.apache.wayang.apps.tpch.queries
 
+import org.apache.wayang.api._
 import org.apache.wayang.apps.tpch.CsvUtils
 import org.apache.wayang.apps.tpch.data.{Customer, LineItem, Order}
 import org.apache.wayang.apps.util.ExperimentDescriptor
-import org.apache.wayang.api._
-import org.apache.wayang.apps.tpch.data.LineItem
 import org.apache.wayang.commons.util.profiledb.model.Experiment
 import org.apache.wayang.core.api.{Configuration, WayangContext}
 import org.apache.wayang.core.plugin.Plugin
diff --git a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/tpch/queries/Query3Hybrid.scala b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/tpch/queries/Query3Hybrid.scala
index 06a8cc7..930c39d 100644
--- a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/tpch/queries/Query3Hybrid.scala
+++ b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/tpch/queries/Query3Hybrid.scala
@@ -18,11 +18,10 @@
 
 package org.apache.wayang.apps.tpch.queries
 
+import org.apache.wayang.api._
 import org.apache.wayang.apps.tpch.CsvUtils
 import org.apache.wayang.apps.tpch.data.{Customer, LineItem, Order}
 import org.apache.wayang.apps.util.ExperimentDescriptor
-import org.apache.wayang.api._
-import org.apache.wayang.apps.tpch.data.LineItem
 import org.apache.wayang.commons.util.profiledb.model.Experiment
 import org.apache.wayang.core.api.{Configuration, WayangContext}
 import org.apache.wayang.core.plugin.Plugin
diff --git a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/util/Parameters.scala b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/util/Parameters.scala
index 135c46a..211fba7 100644
--- a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/util/Parameters.scala
+++ b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/util/Parameters.scala
@@ -18,8 +18,8 @@
 
 package org.apache.wayang.apps.util
 
-import org.apache.wayang.commons.util.profiledb.model.Experiment
 import org.apache.wayang.basic.WayangBasics
+import org.apache.wayang.commons.util.profiledb.model.Experiment
 import org.apache.wayang.core.optimizer.ProbabilisticDoubleInterval
 import org.apache.wayang.core.plugin.{DynamicPlugin, Plugin}
 //import org.apache.wayang.graphchi.GraphChi
diff --git a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/util/ProfileDBHelper.scala b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/util/ProfileDBHelper.scala
index 7c4b381..3d98487 100644
--- a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/util/ProfileDBHelper.scala
+++ b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/util/ProfileDBHelper.scala
@@ -20,9 +20,6 @@ package org.apache.wayang.apps.util
 
 import org.apache.wayang.commons.util.profiledb.model.Experiment
 import org.apache.wayang.core.api.Configuration
-import org.apache.wayang.core.profiling.ProfileDBs
-
-import java.io.File
 
 /**
   * Helper utility to employ with [[ProfileDB]].
diff --git a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/wordcount/WordCountScala.scala b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/wordcount/WordCountScala.scala
index 722cf43..af61bcd 100644
--- a/wayang-benchmark/src/main/scala/org/apache/wayang/apps/wordcount/WordCountScala.scala
+++ b/wayang-benchmark/src/main/scala/org/apache/wayang/apps/wordcount/WordCountScala.scala
@@ -18,9 +18,8 @@
 
 package org.apache.wayang.apps.wordcount
 
-import org.apache.wayang.apps.util.{ExperimentDescriptor, Parameters, ProfileDBHelper}
 import org.apache.wayang.api._
-import org.apache.wayang.apps.util.ProfileDBHelper
+import org.apache.wayang.apps.util.{ExperimentDescriptor, Parameters, ProfileDBHelper}
 import org.apache.wayang.commons.util.profiledb.model.Experiment
 import org.apache.wayang.core.api.{Configuration, WayangContext}
 import org.apache.wayang.core.optimizer.ProbabilisticDoubleInterval
diff --git a/wayang-benchmark/src/test/java/org/apache/wayang/apps/tpch/data/LineItemTupleTest.java b/wayang-benchmark/src/test/java/org/apache/wayang/apps/tpch/data/LineItemTupleTest.java
index 506a0cb..e53a258 100644
--- a/wayang-benchmark/src/test/java/org/apache/wayang/apps/tpch/data/LineItemTupleTest.java
+++ b/wayang-benchmark/src/test/java/org/apache/wayang/apps/tpch/data/LineItemTupleTest.java
@@ -18,11 +18,10 @@
 
 package org.apache.wayang.apps.tpch.data;
 
-import org.junit.Assert;
-import org.junit.Test;
-
 import java.util.Calendar;
 import java.util.GregorianCalendar;
+import org.junit.Assert;
+import org.junit.Test;
 
 /**
  * Test suited for {@link LineItemTuple}.
diff --git a/wayang-benchmark/src/test/scala/org/apache/wayang/apps/kmeans/KmeansTest.scala b/wayang-benchmark/src/test/scala/org/apache/wayang/apps/kmeans/KmeansTest.scala
index 53d6fea..72c3853 100644
--- a/wayang-benchmark/src/test/scala/org/apache/wayang/apps/kmeans/KmeansTest.scala
+++ b/wayang-benchmark/src/test/scala/org/apache/wayang/apps/kmeans/KmeansTest.scala
@@ -19,11 +19,11 @@
 package org.apache.wayang.apps.kmeans
 
 import org.apache.wayang.commons.util.profiledb.model.{Experiment, Subject}
-import org.junit.Assert._
-import org.junit.Test
 import org.apache.wayang.core.api.Configuration
 import org.apache.wayang.java.Java
 import org.apache.wayang.spark.Spark
+import org.junit.Assert._
+import org.junit.Test
 
 /**
   * Test suite for [[Kmeans]].
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/channels/FileChannel.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/channels/FileChannel.java
index 9a56afb..17efde9 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/channels/FileChannel.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/channels/FileChannel.java
@@ -18,6 +18,13 @@
 
 package org.apache.wayang.basic.channels;
 
+import java.io.IOException;
+import java.io.UncheckedIOException;
+import java.util.Collection;
+import java.util.LinkedList;
+import java.util.Objects;
+import java.util.Optional;
+import java.util.Random;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.api.exception.WayangException;
 import org.apache.wayang.core.optimizer.OptimizationContext;
@@ -31,14 +38,6 @@ import org.apache.wayang.core.util.Actions;
 import org.apache.wayang.core.util.fs.FileSystem;
 import org.apache.wayang.core.util.fs.FileSystems;
 
-import java.io.IOException;
-import java.io.UncheckedIOException;
-import java.util.Collection;
-import java.util.LinkedList;
-import java.util.Objects;
-import java.util.Optional;
-import java.util.Random;
-
 /**
  * Represents a {@link Channel} that is realized via a file/set of files.
  */
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/data/Record.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/data/Record.java
index d11506c..dac710b 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/data/Record.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/data/Record.java
@@ -18,12 +18,11 @@
 
 package org.apache.wayang.basic.data;
 
-import org.apache.wayang.core.util.Copyable;
-import org.apache.wayang.core.util.ReflectionUtils;
-
 import java.io.Serializable;
 import java.util.Arrays;
 import java.util.Objects;
+import org.apache.wayang.core.util.Copyable;
+import org.apache.wayang.core.util.ReflectionUtils;
 
 /**
  * A Type that represents a record with a schema, might be replaced with something standard like JPA entity.
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/function/ProjectionDescriptor.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/function/ProjectionDescriptor.java
index 5db00d7..b4ab9ae 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/function/ProjectionDescriptor.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/function/ProjectionDescriptor.java
@@ -18,17 +18,16 @@
 
 package org.apache.wayang.basic.function;
 
+import java.lang.reflect.Field;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
 import org.apache.wayang.basic.data.Record;
 import org.apache.wayang.basic.types.RecordType;
 import org.apache.wayang.core.function.FunctionDescriptor;
 import org.apache.wayang.core.function.TransformationDescriptor;
 import org.apache.wayang.core.types.BasicDataUnitType;
 
-import java.lang.reflect.Field;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
 /**
  * This descriptor pertains to projections. It takes field names of the input type to describe the projection.
  */
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/mapping/GlobalReduceMapping.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/mapping/GlobalReduceMapping.java
index 3fe03d6..1888143 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/mapping/GlobalReduceMapping.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/mapping/GlobalReduceMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.basic.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.GlobalReduceOperator;
 import org.apache.wayang.basic.operators.GroupByOperator;
 import org.apache.wayang.basic.operators.ReduceByOperator;
@@ -31,9 +33,6 @@ import org.apache.wayang.core.mapping.SubplanPattern;
 import org.apache.wayang.core.plan.wayangplan.Operator;
 import org.apache.wayang.core.types.DataSetType;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * This mapping detects combinations of the {@link GroupByOperator} and {@link ReduceOperator} and merges them into
  * a single {@link ReduceByOperator}.
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/mapping/Mappings.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/mapping/Mappings.java
index 38bf55b..ecd7a68 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/mapping/Mappings.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/mapping/Mappings.java
@@ -18,10 +18,9 @@
 
 package org.apache.wayang.basic.mapping;
 
-import org.apache.wayang.core.mapping.Mapping;
-
 import java.util.Arrays;
 import java.util.Collection;
+import org.apache.wayang.core.mapping.Mapping;
 
 /**
  * Register for the components provided in the basic plugin.
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/mapping/MaterializedGroupByMapping.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/mapping/MaterializedGroupByMapping.java
index 62c49c3..039bf52 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/mapping/MaterializedGroupByMapping.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/mapping/MaterializedGroupByMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.basic.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.GroupByOperator;
 import org.apache.wayang.basic.operators.MaterializedGroupByOperator;
 import org.apache.wayang.core.mapping.Mapping;
@@ -29,9 +31,6 @@ import org.apache.wayang.core.mapping.SubplanPattern;
 import org.apache.wayang.core.plan.wayangplan.Operator;
 import org.apache.wayang.core.types.DataSetType;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * This mapping translates the {@link GroupByOperator} into the {@link MaterializedGroupByOperator}.
  */
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/mapping/PageRankMapping.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/mapping/PageRankMapping.java
index 9491b4d..49ed260 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/mapping/PageRankMapping.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/mapping/PageRankMapping.java
@@ -18,6 +18,10 @@
 
 package org.apache.wayang.basic.mapping;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
 import org.apache.wayang.basic.data.Tuple2;
 import org.apache.wayang.basic.operators.CountOperator;
 import org.apache.wayang.basic.operators.DistinctOperator;
@@ -44,11 +48,6 @@ import org.apache.wayang.core.plan.wayangplan.Subplan;
 import org.apache.wayang.core.util.ReflectionUtils;
 import org.apache.wayang.core.util.WayangCollections;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
 /**
  * This {@link Mapping} translates a {@link PageRankOperator} into a {@link Subplan} of basic {@link Operator}s.
  */
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/mapping/ReduceByMapping.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/mapping/ReduceByMapping.java
index f9b9e1a..97a1328 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/mapping/ReduceByMapping.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/mapping/ReduceByMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.basic.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.GroupByOperator;
 import org.apache.wayang.basic.operators.ReduceByOperator;
 import org.apache.wayang.basic.operators.ReduceOperator;
@@ -30,9 +32,6 @@ import org.apache.wayang.core.mapping.SubplanPattern;
 import org.apache.wayang.core.plan.wayangplan.Operator;
 import org.apache.wayang.core.types.DataSetType;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * This mapping detects combinations of the {@link GroupByOperator} and {@link ReduceOperator} and merges them into
  * a single {@link ReduceByOperator}.
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/mapping/RepeatMapping.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/mapping/RepeatMapping.java
index d92edf2..c56d3b2 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/mapping/RepeatMapping.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/mapping/RepeatMapping.java
@@ -18,6 +18,9 @@
 
 package org.apache.wayang.basic.mapping;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.CollectionSource;
 import org.apache.wayang.basic.operators.LoopOperator;
 import org.apache.wayang.basic.operators.MapOperator;
@@ -31,10 +34,6 @@ import org.apache.wayang.core.plan.wayangplan.Subplan;
 import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.core.util.WayangCollections;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * This {@link Mapping} translates a {@link RepeatOperator} into a {@link Subplan} with the {@link LoopOperator}.
  */
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/CartesianOperator.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/CartesianOperator.java
index 4fde9fc..89f64a9 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/CartesianOperator.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/CartesianOperator.java
@@ -18,6 +18,7 @@
 
 package org.apache.wayang.basic.operators;
 
+import java.util.Optional;
 import org.apache.commons.lang3.Validate;
 import org.apache.wayang.basic.data.Tuple2;
 import org.apache.wayang.core.api.Configuration;
@@ -26,8 +27,6 @@ import org.apache.wayang.core.optimizer.cardinality.DefaultCardinalityEstimator;
 import org.apache.wayang.core.plan.wayangplan.BinaryToUnaryOperator;
 import org.apache.wayang.core.types.DataSetType;
 
-import java.util.Optional;
-
 
 /**
  * This operator returns the cartesian product of elements of input datasets.
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/CoGroupOperator.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/CoGroupOperator.java
index 22676e9..b8f2da7 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/CoGroupOperator.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/CoGroupOperator.java
@@ -18,6 +18,7 @@
 
 package org.apache.wayang.basic.operators;
 
+import java.util.Optional;
 import org.apache.commons.lang3.Validate;
 import org.apache.wayang.basic.data.Tuple2;
 import org.apache.wayang.core.api.Configuration;
@@ -28,8 +29,6 @@ import org.apache.wayang.core.optimizer.cardinality.DefaultCardinalityEstimator;
 import org.apache.wayang.core.plan.wayangplan.BinaryToUnaryOperator;
 import org.apache.wayang.core.types.DataSetType;
 
-import java.util.Optional;
-
 
 /**
  * This operator groups both inputs by some key and then matches groups with the same key. If a key appears in only
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/CollectionSource.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/CollectionSource.java
index 0150263..2df6de1 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/CollectionSource.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/CollectionSource.java
@@ -18,6 +18,9 @@
 
 package org.apache.wayang.basic.operators;
 
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Optional;
 import org.apache.commons.lang3.Validate;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimator;
@@ -26,10 +29,6 @@ import org.apache.wayang.core.plan.wayangplan.ElementaryOperator;
 import org.apache.wayang.core.plan.wayangplan.UnarySource;
 import org.apache.wayang.core.types.DataSetType;
 
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Optional;
-
 /**
  * This source takes as input a Java {@link java.util.Collection}.
  */
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/CountOperator.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/CountOperator.java
index 0740575..b990609 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/CountOperator.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/CountOperator.java
@@ -18,6 +18,7 @@
 
 package org.apache.wayang.basic.operators;
 
+import java.util.Optional;
 import org.apache.commons.lang3.Validate;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimator;
@@ -25,8 +26,6 @@ import org.apache.wayang.core.optimizer.cardinality.FixedSizeCardinalityEstimato
 import org.apache.wayang.core.plan.wayangplan.UnaryToUnaryOperator;
 import org.apache.wayang.core.types.DataSetType;
 
-import java.util.Optional;
-
 
 /**
  * This operator returns the count of elements in this stream.
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DistinctOperator.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DistinctOperator.java
index bf1e2d4..8e461f2 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DistinctOperator.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DistinctOperator.java
@@ -18,6 +18,7 @@
 
 package org.apache.wayang.basic.operators;
 
+import java.util.Optional;
 import org.apache.commons.lang3.Validate;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimator;
@@ -25,8 +26,6 @@ import org.apache.wayang.core.optimizer.cardinality.DefaultCardinalityEstimator;
 import org.apache.wayang.core.plan.wayangplan.UnaryToUnaryOperator;
 import org.apache.wayang.core.types.DataSetType;
 
-import java.util.Optional;
-
 
 /**
  * This operator returns the distinct elements in this dataset.
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DoWhileOperator.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DoWhileOperator.java
index 8966f01..ef4376c 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DoWhileOperator.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/DoWhileOperator.java
@@ -18,6 +18,10 @@
 
 package org.apache.wayang.basic.operators;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Optional;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.function.PredicateDescriptor;
 import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimator;
@@ -31,11 +35,6 @@ import org.apache.wayang.core.plan.wayangplan.OutputSlot;
 import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.core.util.ReflectionUtils;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Optional;
-
 /**
  * This operator has three inputs and two outputs.
  */
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/FilterOperator.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/FilterOperator.java
index 767ff69..876fa20 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/FilterOperator.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/FilterOperator.java
@@ -18,6 +18,7 @@
 
 package org.apache.wayang.basic.operators;
 
+import java.util.Optional;
 import org.apache.commons.lang3.Validate;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.function.PredicateDescriptor;
@@ -27,8 +28,6 @@ import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimate;
 import org.apache.wayang.core.plan.wayangplan.UnaryToUnaryOperator;
 import org.apache.wayang.core.types.DataSetType;
 
-import java.util.Optional;
-
 
 /**
  * This operator returns a new dataset after filtering by applying predicateDescriptor.
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/FlatMapOperator.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/FlatMapOperator.java
index e2d4406..7cb0e39 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/FlatMapOperator.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/FlatMapOperator.java
@@ -18,6 +18,7 @@
 
 package org.apache.wayang.basic.operators;
 
+import java.util.Optional;
 import org.apache.commons.lang3.Validate;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.function.FlatMapDescriptor;
@@ -28,8 +29,6 @@ import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimate;
 import org.apache.wayang.core.plan.wayangplan.UnaryToUnaryOperator;
 import org.apache.wayang.core.types.DataSetType;
 
-import java.util.Optional;
-
 /**
  * A flatmap operator represents semantics as they are known from frameworks, such as Spark and Flink. It pulls each
  * available element from the input slot, applies a function to it, returning zero or more output elements,
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/GlobalMaterializedGroupOperator.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/GlobalMaterializedGroupOperator.java
index 3ddb8b5..7f51a16 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/GlobalMaterializedGroupOperator.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/GlobalMaterializedGroupOperator.java
@@ -18,14 +18,13 @@
 
 package org.apache.wayang.basic.operators;
 
+import java.util.Optional;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimator;
 import org.apache.wayang.core.optimizer.cardinality.FixedSizeCardinalityEstimator;
 import org.apache.wayang.core.plan.wayangplan.UnaryToUnaryOperator;
 import org.apache.wayang.core.types.DataSetType;
 
-import java.util.Optional;
-
 /**
  * This operator groups the elements of a data set into a single data quantum.
  */
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/GlobalReduceOperator.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/GlobalReduceOperator.java
index 3c03e1c..9301a30 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/GlobalReduceOperator.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/GlobalReduceOperator.java
@@ -18,6 +18,7 @@
 
 package org.apache.wayang.basic.operators;
 
+import java.util.Optional;
 import org.apache.commons.lang3.Validate;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.function.FunctionDescriptor;
@@ -28,8 +29,6 @@ import org.apache.wayang.core.plan.wayangplan.UnaryToUnaryOperator;
 import org.apache.wayang.core.types.BasicDataUnitType;
 import org.apache.wayang.core.types.DataSetType;
 
-import java.util.Optional;
-
 /**
  * This operator groups the elements of a data set and aggregates the groups.
  */
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/IntersectOperator.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/IntersectOperator.java
index d082695..e354a0c 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/IntersectOperator.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/IntersectOperator.java
@@ -18,6 +18,7 @@
 
 package org.apache.wayang.basic.operators;
 
+import java.util.Optional;
 import org.apache.commons.lang3.Validate;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimator;
@@ -25,8 +26,6 @@ import org.apache.wayang.core.optimizer.cardinality.DefaultCardinalityEstimator;
 import org.apache.wayang.core.plan.wayangplan.BinaryToUnaryOperator;
 import org.apache.wayang.core.types.DataSetType;
 
-import java.util.Optional;
-
 
 /**
  * This operator returns the set intersection of elements of input datasets.
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/JoinOperator.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/JoinOperator.java
index 1d4d1f3..7601652 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/JoinOperator.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/JoinOperator.java
@@ -18,6 +18,7 @@
 
 package org.apache.wayang.basic.operators;
 
+import java.util.Optional;
 import org.apache.commons.lang3.Validate;
 import org.apache.wayang.basic.data.Tuple2;
 import org.apache.wayang.core.api.Configuration;
@@ -28,8 +29,6 @@ import org.apache.wayang.core.optimizer.cardinality.DefaultCardinalityEstimator;
 import org.apache.wayang.core.plan.wayangplan.BinaryToUnaryOperator;
 import org.apache.wayang.core.types.DataSetType;
 
-import java.util.Optional;
-
 
 /**
  * This operator returns the cartesian product of elements of input datasets.
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LocalCallbackSink.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LocalCallbackSink.java
index d88e963..4671dc1 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LocalCallbackSink.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LocalCallbackSink.java
@@ -18,6 +18,9 @@
 
 package org.apache.wayang.basic.operators;
 
+import java.util.Collection;
+import java.util.Optional;
+import java.util.function.Consumer;
 import org.apache.commons.lang3.Validate;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.function.ConsumerDescriptor;
@@ -27,10 +30,6 @@ import org.apache.wayang.core.plan.wayangplan.UnarySink;
 import org.apache.wayang.core.types.BasicDataUnitType;
 import org.apache.wayang.core.types.DataSetType;
 
-import java.util.Collection;
-import java.util.Optional;
-import java.util.function.Consumer;
-
 /**
  * This sink executes a callback on each received data unit into a Java {@link Collection}.
  */
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LoopOperator.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LoopOperator.java
index e83022c..6ae1864 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LoopOperator.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/LoopOperator.java
@@ -18,6 +18,10 @@
 
 package org.apache.wayang.basic.operators;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Optional;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.function.PredicateDescriptor;
 import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimator;
@@ -31,11 +35,6 @@ import org.apache.wayang.core.plan.wayangplan.OutputSlot;
 import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.core.util.ReflectionUtils;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Optional;
-
 /**
  * This operator has three inputs and three outputs.
  */
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/MapOperator.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/MapOperator.java
index 13c25a1..1ecb9b1 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/MapOperator.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/MapOperator.java
@@ -18,6 +18,7 @@
 
 package org.apache.wayang.basic.operators;
 
+import java.util.Optional;
 import org.apache.commons.lang3.Validate;
 import org.apache.wayang.basic.data.Record;
 import org.apache.wayang.basic.function.ProjectionDescriptor;
@@ -30,8 +31,6 @@ import org.apache.wayang.core.optimizer.cardinality.DefaultCardinalityEstimator;
 import org.apache.wayang.core.plan.wayangplan.UnaryToUnaryOperator;
 import org.apache.wayang.core.types.DataSetType;
 
-import java.util.Optional;
-
 /**
  * A map operator represents semantics as they are known from frameworks, such as Spark and Flink. It pulls each
  * available element from the input slot, applies a function to it, and pushes that element to the output slot.
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/MapPartitionsOperator.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/MapPartitionsOperator.java
index 976845e..942a252 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/MapPartitionsOperator.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/MapPartitionsOperator.java
@@ -18,6 +18,7 @@
 
 package org.apache.wayang.basic.operators;
 
+import java.util.Optional;
 import org.apache.commons.lang3.Validate;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.function.FunctionDescriptor;
@@ -28,8 +29,6 @@ import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimate;
 import org.apache.wayang.core.plan.wayangplan.UnaryToUnaryOperator;
 import org.apache.wayang.core.types.DataSetType;
 
-import java.util.Optional;
-
 /**
  * This operator takes as input potentially multiple input data quanta and outputs multiple input data quanta.
  * <p>Since Wayang is not a physical execution engine, its notion of partitions is rather loose. Implementors
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/MaterializedGroupByOperator.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/MaterializedGroupByOperator.java
index 4b06020..11bca6a 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/MaterializedGroupByOperator.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/MaterializedGroupByOperator.java
@@ -18,6 +18,7 @@
 
 package org.apache.wayang.basic.operators;
 
+import java.util.Optional;
 import org.apache.commons.lang3.Validate;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.function.FunctionDescriptor;
@@ -27,8 +28,6 @@ import org.apache.wayang.core.optimizer.cardinality.DefaultCardinalityEstimator;
 import org.apache.wayang.core.plan.wayangplan.UnaryToUnaryOperator;
 import org.apache.wayang.core.types.DataSetType;
 
-import java.util.Optional;
-
 /**
  * This operator collocates the data units in a data set w.r.t. a key function.
  */
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/ObjectFileSink.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/ObjectFileSink.java
index 600eedc..72ffd9c 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/ObjectFileSink.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/ObjectFileSink.java
@@ -1,9 +1,5 @@
 package org.apache.wayang.basic.operators;
 
-import java.util.Objects;
-import org.apache.wayang.core.function.TransformationDescriptor;
-import org.apache.wayang.core.optimizer.costs.DefaultLoadEstimator;
-import org.apache.wayang.core.optimizer.costs.NestableLoadProfileEstimator;
 import org.apache.wayang.core.plan.wayangplan.UnarySink;
 import org.apache.wayang.core.types.DataSetType;
 
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PageRankOperator.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PageRankOperator.java
index 49a9cc6..1358879 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PageRankOperator.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/PageRankOperator.java
@@ -18,6 +18,7 @@
 
 package org.apache.wayang.basic.operators;
 
+import java.util.Optional;
 import org.apache.wayang.basic.data.Tuple2;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.ProbabilisticDoubleInterval;
@@ -28,8 +29,6 @@ import org.apache.wayang.core.plan.wayangplan.Operator;
 import org.apache.wayang.core.plan.wayangplan.UnaryToUnaryOperator;
 import org.apache.wayang.core.types.DataSetType;
 
-import java.util.Optional;
-
 /**
  * {@link Operator} for the PageRank algorithm. It takes as input a list of directed edges, whereby each edge
  * is represented as {@code (source vertex ID, target vertex ID)} tuple. Its output are the page ranks, codified
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/ReduceByOperator.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/ReduceByOperator.java
index dd078d0..627bf0e 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/ReduceByOperator.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/ReduceByOperator.java
@@ -18,6 +18,7 @@
 
 package org.apache.wayang.basic.operators;
 
+import java.util.Optional;
 import org.apache.commons.lang3.Validate;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.function.FunctionDescriptor;
@@ -28,8 +29,6 @@ import org.apache.wayang.core.optimizer.cardinality.DefaultCardinalityEstimator;
 import org.apache.wayang.core.plan.wayangplan.UnaryToUnaryOperator;
 import org.apache.wayang.core.types.DataSetType;
 
-import java.util.Optional;
-
 /**
  * This operator groups the elements of a data set and aggregates the groups.
  */
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/ReduceOperator.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/ReduceOperator.java
index 8d93f0b..153df73 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/ReduceOperator.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/ReduceOperator.java
@@ -18,6 +18,7 @@
 
 package org.apache.wayang.basic.operators;
 
+import java.util.Optional;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.function.FunctionDescriptor;
 import org.apache.wayang.core.function.ReduceDescriptor;
@@ -26,8 +27,6 @@ import org.apache.wayang.core.optimizer.cardinality.FixedSizeCardinalityEstimato
 import org.apache.wayang.core.plan.wayangplan.UnaryToUnaryOperator;
 import org.apache.wayang.core.types.DataSetType;
 
-import java.util.Optional;
-
 /**
  * This operator is context dependent: after a {@link GroupByOperator}, it is meant to be a {@link ReduceByOperator};
  * otherwise, it is a {@link GlobalReduceOperator}.
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/RepeatOperator.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/RepeatOperator.java
index a2c97b7..3919c5c 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/RepeatOperator.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/RepeatOperator.java
@@ -18,6 +18,10 @@
 
 package org.apache.wayang.basic.operators;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Optional;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimator;
 import org.apache.wayang.core.optimizer.cardinality.SwitchForwardCardinalityEstimator;
@@ -29,11 +33,6 @@ import org.apache.wayang.core.plan.wayangplan.OperatorBase;
 import org.apache.wayang.core.plan.wayangplan.OutputSlot;
 import org.apache.wayang.core.types.DataSetType;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Optional;
-
 /**
  * This {@link Operator} repeats a certain subplan of {@link Operator}s for a given number of times.
  */
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/SampleOperator.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/SampleOperator.java
index 50db0d7..5d0c773 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/SampleOperator.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/SampleOperator.java
@@ -18,19 +18,18 @@
 
 package org.apache.wayang.basic.operators;
 
+import java.util.Optional;
+import java.util.function.IntUnaryOperator;
+import java.util.function.LongUnaryOperator;
 import org.apache.commons.lang3.Validate;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimator;
 import org.apache.wayang.core.optimizer.cardinality.FixedSizeCardinalityEstimator;
 import org.apache.wayang.core.plan.wayangplan.UnaryToUnaryOperator;
 import org.apache.wayang.core.types.DataSetType;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
-import java.util.Optional;
-import java.util.function.IntUnaryOperator;
-import java.util.function.LongUnaryOperator;
 
 /**
  * A random sample operator randomly selects its inputs from the input slot and pushes that element to the output slot.
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/SortOperator.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/SortOperator.java
index 3436b98..49a7273 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/SortOperator.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/SortOperator.java
@@ -18,6 +18,7 @@
 
 package org.apache.wayang.basic.operators;
 
+import java.util.Optional;
 import org.apache.commons.lang3.Validate;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.function.FunctionDescriptor;
@@ -27,8 +28,6 @@ import org.apache.wayang.core.optimizer.cardinality.DefaultCardinalityEstimator;
 import org.apache.wayang.core.plan.wayangplan.UnaryToUnaryOperator;
 import org.apache.wayang.core.types.DataSetType;
 
-import java.util.Optional;
-
 
 /**
  * This operator sorts the elements in this dataset.
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/TextFileSink.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/TextFileSink.java
index 970a11f..35f8d99 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/TextFileSink.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/TextFileSink.java
@@ -18,14 +18,13 @@
 
 package org.apache.wayang.basic.operators;
 
+import java.util.Objects;
 import org.apache.wayang.core.function.TransformationDescriptor;
 import org.apache.wayang.core.optimizer.costs.DefaultLoadEstimator;
 import org.apache.wayang.core.optimizer.costs.NestableLoadProfileEstimator;
 import org.apache.wayang.core.plan.wayangplan.UnarySink;
 import org.apache.wayang.core.types.DataSetType;
 
-import java.util.Objects;
-
 /**
  * This {@link UnarySink} writes all incoming data quanta to a text file.
  */
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/TextFileSource.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/TextFileSource.java
index 67ddf49..76474b1 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/TextFileSource.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/TextFileSource.java
@@ -19,7 +19,15 @@
 package org.apache.wayang.basic.operators;
 
 
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.util.Optional;
+import java.util.OptionalDouble;
+import java.util.OptionalLong;
 import org.apache.commons.lang3.Validate;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.wayang.commons.util.profiledb.model.measurement.TimeMeasurement;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.OptimizationContext;
@@ -29,15 +37,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.core.util.LimitedInputStream;
 import org.apache.wayang.core.util.fs.FileSystem;
 import org.apache.wayang.core.util.fs.FileSystems;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Optional;
-import java.util.OptionalDouble;
-import java.util.OptionalLong;
 
 /**
  * This source reads a text file and outputs the lines as data units.
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/UnionAllOperator.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/UnionAllOperator.java
index 449ee9e..5f4a075 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/UnionAllOperator.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/UnionAllOperator.java
@@ -18,6 +18,7 @@
 
 package org.apache.wayang.basic.operators;
 
+import java.util.Optional;
 import org.apache.commons.lang3.Validate;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimator;
@@ -27,8 +28,6 @@ import org.apache.wayang.core.plan.wayangplan.Operator;
 import org.apache.wayang.core.plan.wayangplan.OutputSlot;
 import org.apache.wayang.core.types.DataSetType;
 
-import java.util.Optional;
-
 
 /**
  * This {@link Operator} creates the union (bag semantics) of two .
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/ZipWithIdOperator.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/ZipWithIdOperator.java
index 001b010..eba1ec2 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/ZipWithIdOperator.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/ZipWithIdOperator.java
@@ -18,6 +18,7 @@
 
 package org.apache.wayang.basic.operators;
 
+import java.util.Optional;
 import org.apache.commons.lang3.Validate;
 import org.apache.wayang.basic.data.Tuple2;
 import org.apache.wayang.core.api.Configuration;
@@ -26,8 +27,6 @@ import org.apache.wayang.core.optimizer.cardinality.DefaultCardinalityEstimator;
 import org.apache.wayang.core.plan.wayangplan.UnaryToUnaryOperator;
 import org.apache.wayang.core.types.DataSetType;
 
-import java.util.Optional;
-
 /**
  * This operators attaches a unique ID to each input data quantum.
  */
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/plugin/WayangBasic.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/plugin/WayangBasic.java
index e580af7..5a9321d 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/plugin/WayangBasic.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/plugin/WayangBasic.java
@@ -18,6 +18,9 @@
 
 package org.apache.wayang.basic.plugin;
 
+import java.io.File;
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.mapping.Mappings;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.mapping.Mapping;
@@ -27,10 +30,6 @@ import org.apache.wayang.core.plugin.Plugin;
 import org.apache.wayang.core.util.ReflectionUtils;
 import org.apache.wayang.core.util.fs.LocalFileSystem;
 
-import java.io.File;
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Activator for the basic Wayang package.
  */
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/plugin/WayangBasicGraph.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/plugin/WayangBasicGraph.java
index 87c7045..5b867de 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/plugin/WayangBasicGraph.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/plugin/WayangBasicGraph.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.basic.plugin;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.mapping.Mappings;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.mapping.Mapping;
@@ -25,9 +27,6 @@ import org.apache.wayang.core.optimizer.channels.ChannelConversion;
 import org.apache.wayang.core.platform.Platform;
 import org.apache.wayang.core.plugin.Plugin;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Activator for graph operations being executed with Wayang's basic operators.
  */
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/types/RecordType.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/types/RecordType.java
index 7988e99..09e79e2 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/types/RecordType.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/types/RecordType.java
@@ -18,11 +18,10 @@
 
 package org.apache.wayang.basic.types;
 
-import org.apache.wayang.basic.data.Record;
-import org.apache.wayang.core.types.BasicDataUnitType;
-
 import java.util.Arrays;
 import java.util.Objects;
+import org.apache.wayang.basic.data.Record;
+import org.apache.wayang.core.types.BasicDataUnitType;
 
 /**
  * This is a specific {@link BasicDataUnitType} for {@link Record}s. In particular, it adds schema information.
diff --git a/wayang-commons/wayang-basic/src/test/java/org/apache/wayang/basic/function/ProjectionDescriptorTest.java b/wayang-commons/wayang-basic/src/test/java/org/apache/wayang/basic/function/ProjectionDescriptorTest.java
index 4532264..80862ac 100644
--- a/wayang-commons/wayang-basic/src/test/java/org/apache/wayang/basic/function/ProjectionDescriptorTest.java
+++ b/wayang-commons/wayang-basic/src/test/java/org/apache/wayang/basic/function/ProjectionDescriptorTest.java
@@ -18,12 +18,11 @@
 
 package org.apache.wayang.basic.function;
 
-import org.junit.Assert;
-import org.junit.Test;
+import java.util.function.Function;
 import org.apache.wayang.basic.data.Record;
 import org.apache.wayang.basic.types.RecordType;
-
-import java.util.function.Function;
+import org.junit.Assert;
+import org.junit.Test;
 
 /**
  * Tests for the {@link ProjectionDescriptor}.
diff --git a/wayang-commons/wayang-basic/src/test/java/org/apache/wayang/basic/mapping/ReduceByMappingTest.java b/wayang-commons/wayang-basic/src/test/java/org/apache/wayang/basic/mapping/ReduceByMappingTest.java
index 20d5a63..7b0b0a4 100644
--- a/wayang-commons/wayang-basic/src/test/java/org/apache/wayang/basic/mapping/ReduceByMappingTest.java
+++ b/wayang-commons/wayang-basic/src/test/java/org/apache/wayang/basic/mapping/ReduceByMappingTest.java
@@ -18,8 +18,6 @@
 
 package org.apache.wayang.basic.mapping;
 
-import org.junit.Assert;
-import org.junit.Test;
 import org.apache.wayang.basic.data.Tuple2;
 import org.apache.wayang.basic.function.ProjectionDescriptor;
 import org.apache.wayang.basic.operators.GroupByOperator;
@@ -31,11 +29,13 @@ import org.apache.wayang.core.function.ReduceDescriptor;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.PlanTransformation;
 import org.apache.wayang.core.plan.wayangplan.Operator;
-import org.apache.wayang.core.plan.wayangplan.WayangPlan;
 import org.apache.wayang.core.plan.wayangplan.UnarySink;
 import org.apache.wayang.core.plan.wayangplan.UnarySource;
+import org.apache.wayang.core.plan.wayangplan.WayangPlan;
 import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.core.types.DataUnitType;
+import org.junit.Assert;
+import org.junit.Test;
 
 /**
  * Test suite for the {@link ReduceByMapping}.
diff --git a/wayang-commons/wayang-basic/src/test/java/org/apache/wayang/basic/operators/MaterializedGroupByOperatorTest.java b/wayang-commons/wayang-basic/src/test/java/org/apache/wayang/basic/operators/MaterializedGroupByOperatorTest.java
index d5f21a7..2410a61 100644
--- a/wayang-commons/wayang-basic/src/test/java/org/apache/wayang/basic/operators/MaterializedGroupByOperatorTest.java
+++ b/wayang-commons/wayang-basic/src/test/java/org/apache/wayang/basic/operators/MaterializedGroupByOperatorTest.java
@@ -18,12 +18,11 @@
 
 package org.apache.wayang.basic.operators;
 
-import org.junit.Test;
+import java.util.stream.StreamSupport;
 import org.apache.wayang.core.function.TransformationDescriptor;
 import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.core.types.DataUnitType;
-
-import java.util.stream.StreamSupport;
+import org.junit.Test;
 
 /**
  * Tests for the {@link MaterializedGroupByOperator}.
diff --git a/wayang-commons/wayang-basic/src/test/java/org/apache/wayang/basic/operators/TextFileSourceTest.java b/wayang-commons/wayang-basic/src/test/java/org/apache/wayang/basic/operators/TextFileSourceTest.java
index 909169c..a12f832 100644
--- a/wayang-commons/wayang-basic/src/test/java/org/apache/wayang/basic/operators/TextFileSourceTest.java
+++ b/wayang-commons/wayang-basic/src/test/java/org/apache/wayang/basic/operators/TextFileSourceTest.java
@@ -19,19 +19,8 @@
 package org.apache.wayang.basic.operators;
 
 
-import org.apache.wayang.commons.util.profiledb.instrumentation.StopWatch;
-import org.apache.wayang.commons.util.profiledb.model.Experiment;
-import org.apache.wayang.commons.util.profiledb.model.Subject;
-import org.junit.Assert;
-import org.junit.Test;
-import org.apache.wayang.core.api.Configuration;
-import org.apache.wayang.core.api.Job;
-import org.apache.wayang.core.optimizer.DefaultOptimizationContext;
-import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimate;
-import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimator;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
 
 import java.io.BufferedReader;
 import java.io.File;
@@ -41,9 +30,18 @@ import java.io.InputStreamReader;
 import java.net.URISyntaxException;
 import java.net.URL;
 import java.util.Optional;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.apache.wayang.commons.util.profiledb.instrumentation.StopWatch;
+import org.apache.wayang.commons.util.profiledb.model.Experiment;
+import org.apache.wayang.commons.util.profiledb.model.Subject;
+import org.apache.wayang.core.api.Configuration;
+import org.apache.wayang.core.api.Job;
+import org.apache.wayang.core.optimizer.DefaultOptimizationContext;
+import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimate;
+import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimator;
+import org.junit.Assert;
+import org.junit.Test;
 
 /**
  * Test suite for {@link TextFileSource}.
diff --git a/wayang-commons/wayang-basic/src/test/java/org/apache/wayang/basic/types/RecordTypeTest.java b/wayang-commons/wayang-basic/src/test/java/org/apache/wayang/basic/types/RecordTypeTest.java
index 9d8b472..d7de74c 100644
--- a/wayang-commons/wayang-basic/src/test/java/org/apache/wayang/basic/types/RecordTypeTest.java
+++ b/wayang-commons/wayang-basic/src/test/java/org/apache/wayang/basic/types/RecordTypeTest.java
@@ -18,10 +18,10 @@
 
 package org.apache.wayang.basic.types;
 
-import org.junit.Assert;
-import org.junit.Test;
 import org.apache.wayang.basic.data.Record;
 import org.apache.wayang.core.types.DataSetType;
+import org.junit.Assert;
+import org.junit.Test;
 
 /**
  * Tests for the {@link RecordType}.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/Configuration.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/Configuration.java
index 966ecc5..9c264a6 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/Configuration.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/Configuration.java
@@ -18,8 +18,27 @@
 
 package org.apache.wayang.core.api;
 
+import static org.apache.wayang.core.util.ReflectionUtils.instantiateDefault;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.LinkedList;
+import java.util.Map;
+import java.util.Optional;
+import java.util.OptionalDouble;
+import java.util.OptionalLong;
+import java.util.Properties;
+import java.util.Random;
+import java.util.function.ToDoubleFunction;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.wayang.core.api.configuration.CollectionProvider;
 import org.apache.wayang.core.api.configuration.ConstantValueProvider;
 import org.apache.wayang.core.api.configuration.ExplicitCollectionProvider;
@@ -58,26 +77,6 @@ import org.apache.wayang.core.util.Actions;
 import org.apache.wayang.core.util.ReflectionUtils;
 import org.apache.wayang.core.util.fs.FileSystem;
 import org.apache.wayang.core.util.fs.FileSystems;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.Map;
-import java.util.Optional;
-import java.util.OptionalDouble;
-import java.util.OptionalLong;
-import java.util.Properties;
-import java.util.Random;
-import java.util.function.ToDoubleFunction;
-
-import static org.apache.wayang.core.util.ReflectionUtils.instantiateDefault;
 
 /**
  * Describes both the configuration of a {@link WayangContext} and {@link Job}s.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/Job.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/Job.java
index 97454b3..cbfa05f 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/Job.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/Job.java
@@ -18,6 +18,19 @@
 
 package org.apache.wayang.core.api;
 
+import java.io.IOException;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Queue;
+import java.util.Set;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.stream.Collectors;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.wayang.commons.util.profiledb.instrumentation.StopWatch;
 import org.apache.wayang.commons.util.profiledb.model.Experiment;
 import org.apache.wayang.commons.util.profiledb.model.measurement.TimeMeasurement;
@@ -67,20 +80,6 @@ import org.apache.wayang.core.util.Formats;
 import org.apache.wayang.core.util.OneTimeExecutable;
 import org.apache.wayang.core.util.ReflectionUtils;
 import org.apache.wayang.core.util.WayangCollections;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
-import java.io.IOException;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Queue;
-import java.util.Set;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.stream.Collectors;
 
 /**
  * Describes a job that is to be executed using Wayang.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/WayangContext.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/WayangContext.java
index f40f536..9c3150a 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/WayangContext.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/WayangContext.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.core.api;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.wayang.commons.util.profiledb.model.Experiment;
 import org.apache.wayang.commons.util.profiledb.model.Subject;
 import org.apache.wayang.core.monitor.Monitor;
@@ -27,8 +29,6 @@ import org.apache.wayang.core.plan.wayangplan.WayangPlan;
 import org.apache.wayang.core.plugin.Plugin;
 import org.apache.wayang.core.profiling.CardinalityRepository;
 import org.apache.wayang.core.util.ReflectionUtils;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
 
 /**
  * This is the entry point for users to work with Wayang.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/CollectionProvider.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/CollectionProvider.java
index e9e9b73..3a55bd4 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/CollectionProvider.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/CollectionProvider.java
@@ -18,13 +18,12 @@
 
 package org.apache.wayang.core.api.configuration;
 
+import java.util.Collection;
+import java.util.Iterator;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.apache.wayang.core.api.Configuration;
 
-import java.util.Collection;
-import java.util.Iterator;
-
 /**
  * Provides a {@link Collection} of objects.
  */
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/ExplicitCollectionProvider.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/ExplicitCollectionProvider.java
index 28850a7..c67ab63 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/ExplicitCollectionProvider.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/ExplicitCollectionProvider.java
@@ -18,14 +18,13 @@
 
 package org.apache.wayang.core.api.configuration;
 
-import org.apache.wayang.core.api.Configuration;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
 import java.util.Collection;
 import java.util.HashSet;
 import java.util.LinkedHashSet;
 import java.util.Set;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.apache.wayang.core.api.Configuration;
 
 /**
  * {@link CollectionProvider} implementation based on a blacklist and a whitelist.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/FunctionalCollectionProvider.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/FunctionalCollectionProvider.java
index d18211a..821eeb7 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/FunctionalCollectionProvider.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/FunctionalCollectionProvider.java
@@ -18,11 +18,10 @@
 
 package org.apache.wayang.core.api.configuration;
 
-import org.apache.wayang.core.api.Configuration;
-
 import java.util.Collection;
 import java.util.HashSet;
 import java.util.function.Function;
+import org.apache.wayang.core.api.Configuration;
 
 /**
  * {@link CollectionProvider} implementation based on a blacklist and a whitelist.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/FunctionalKeyValueProvider.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/FunctionalKeyValueProvider.java
index a567ab6..555c23a 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/FunctionalKeyValueProvider.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/FunctionalKeyValueProvider.java
@@ -18,10 +18,9 @@
 
 package org.apache.wayang.core.api.configuration;
 
-import org.apache.wayang.core.api.Configuration;
-
 import java.util.function.BiFunction;
 import java.util.function.Function;
+import org.apache.wayang.core.api.Configuration;
 
 /**
  * Implementation of {@link KeyValueProvider} that uses a {@link Function} to provide a value.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/FunctionalValueProvider.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/FunctionalValueProvider.java
index d861290..93e0be3 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/FunctionalValueProvider.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/FunctionalValueProvider.java
@@ -18,9 +18,8 @@
 
 package org.apache.wayang.core.api.configuration;
 
-import org.apache.wayang.core.api.Configuration;
-
 import java.util.function.Function;
+import org.apache.wayang.core.api.Configuration;
 
 /**
  * Used by {@link Configuration}s to provide some value.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/KeyValueProvider.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/KeyValueProvider.java
index 512d14c..b19d73a 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/KeyValueProvider.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/KeyValueProvider.java
@@ -18,12 +18,11 @@
 
 package org.apache.wayang.core.api.configuration;
 
-import org.apache.wayang.core.api.Configuration;
-import org.apache.wayang.core.api.exception.WayangException;
+import java.util.Optional;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
-
-import java.util.Optional;
+import org.apache.wayang.core.api.Configuration;
+import org.apache.wayang.core.api.exception.WayangException;
 
 /**
  * Used by {@link Configuration}s to provide some value.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/MapBasedKeyValueProvider.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/MapBasedKeyValueProvider.java
index 96881d9..0160d98 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/MapBasedKeyValueProvider.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/MapBasedKeyValueProvider.java
@@ -18,11 +18,10 @@
 
 package org.apache.wayang.core.api.configuration;
 
-import org.apache.commons.lang3.Validate;
-import org.apache.wayang.core.api.Configuration;
-
 import java.util.HashMap;
 import java.util.Map;
+import org.apache.commons.lang3.Validate;
+import org.apache.wayang.core.api.Configuration;
 
 /**
  * Implementation of {@link KeyValueProvider} that uses a {@link Map} to provide a value.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/ValueProvider.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/ValueProvider.java
index 3b8a905..5346816 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/ValueProvider.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/ValueProvider.java
@@ -18,12 +18,11 @@
 
 package org.apache.wayang.core.api.configuration;
 
-import org.apache.wayang.core.api.Configuration;
-import org.apache.wayang.core.api.exception.WayangException;
+import java.util.Optional;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
-
-import java.util.Optional;
+import org.apache.wayang.core.api.Configuration;
+import org.apache.wayang.core.api.exception.WayangException;
 
 /**
  * Used by {@link Configuration}s to provide some value.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/AggregationDescriptor.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/AggregationDescriptor.java
index b1a6c4a..6f19937 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/AggregationDescriptor.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/AggregationDescriptor.java
@@ -18,6 +18,7 @@
 
 package org.apache.wayang.core.function;
 
+import java.util.Iterator;
 import org.apache.wayang.core.optimizer.costs.LoadEstimator;
 import org.apache.wayang.core.optimizer.costs.LoadProfileEstimator;
 import org.apache.wayang.core.optimizer.costs.NestableLoadProfileEstimator;
@@ -25,8 +26,6 @@ import org.apache.wayang.core.types.BasicDataUnitType;
 import org.apache.wayang.core.types.DataUnitGroupType;
 import org.apache.wayang.core.types.DataUnitType;
 
-import java.util.Iterator;
-
 /**
  * This descriptor pertains to functions that take multiple data units and aggregate them into a single data unit.
  */
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/ConsumerDescriptor.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/ConsumerDescriptor.java
index 83221bd..b3507bc 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/ConsumerDescriptor.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/ConsumerDescriptor.java
@@ -18,12 +18,11 @@
 
 package org.apache.wayang.core.function;
 
+import java.util.Optional;
 import org.apache.wayang.core.optimizer.ProbabilisticDoubleInterval;
 import org.apache.wayang.core.optimizer.costs.LoadProfileEstimator;
 import org.apache.wayang.core.types.BasicDataUnitType;
 
-import java.util.Optional;
-
 /**
  * Created by bertty on 13-07-17.
  */
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/ExecutionContext.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/ExecutionContext.java
index a870ef0..ebfffdc 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/ExecutionContext.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/ExecutionContext.java
@@ -18,11 +18,10 @@
 
 package org.apache.wayang.core.function;
 
+import java.util.Collection;
 import org.apache.wayang.core.plan.wayangplan.LoopSubplan;
 import org.apache.wayang.core.platform.Platform;
 
-import java.util.Collection;
-
 /**
  * While a function is executed on a certain {@link Platform}, allows access to some information of the context in
  * which the function is being executed.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/FlatMapDescriptor.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/FlatMapDescriptor.java
index 948af92..2b1f991 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/FlatMapDescriptor.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/FlatMapDescriptor.java
@@ -18,14 +18,13 @@
 
 package org.apache.wayang.core.function;
 
+import java.util.Optional;
+import java.util.function.Function;
 import org.apache.wayang.core.optimizer.ProbabilisticDoubleInterval;
 import org.apache.wayang.core.optimizer.costs.LoadProfileEstimator;
 import org.apache.wayang.core.types.BasicDataUnitType;
 import org.apache.wayang.core.types.DataUnitType;
 
-import java.util.Optional;
-import java.util.function.Function;
-
 /**
  * This descriptor pertains to functions that consume a single data unit and output a group of data units.
  *
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/FunctionDescriptor.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/FunctionDescriptor.java
index 18d13e0..dfd2d9b 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/FunctionDescriptor.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/FunctionDescriptor.java
@@ -18,11 +18,6 @@
 
 package org.apache.wayang.core.function;
 
-import org.apache.wayang.core.optimizer.ProbabilisticDoubleInterval;
-import org.apache.wayang.core.optimizer.costs.LoadEstimator;
-import org.apache.wayang.core.optimizer.costs.LoadProfileEstimator;
-import org.apache.wayang.core.optimizer.costs.NestableLoadProfileEstimator;
-
 import java.io.Serializable;
 import java.util.Optional;
 import java.util.function.BiFunction;
@@ -30,6 +25,10 @@ import java.util.function.BinaryOperator;
 import java.util.function.Consumer;
 import java.util.function.Function;
 import java.util.function.Predicate;
+import org.apache.wayang.core.optimizer.ProbabilisticDoubleInterval;
+import org.apache.wayang.core.optimizer.costs.LoadEstimator;
+import org.apache.wayang.core.optimizer.costs.LoadProfileEstimator;
+import org.apache.wayang.core.optimizer.costs.NestableLoadProfileEstimator;
 
 /**
  * A function operates on single data units or collections of those.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/MapPartitionsDescriptor.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/MapPartitionsDescriptor.java
index d93833c..08f230c 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/MapPartitionsDescriptor.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/MapPartitionsDescriptor.java
@@ -18,14 +18,13 @@
 
 package org.apache.wayang.core.function;
 
+import java.util.Optional;
+import java.util.function.Function;
 import org.apache.wayang.core.optimizer.ProbabilisticDoubleInterval;
 import org.apache.wayang.core.optimizer.costs.LoadProfileEstimator;
 import org.apache.wayang.core.types.BasicDataUnitType;
 import org.apache.wayang.core.types.DataUnitType;
 
-import java.util.Optional;
-import java.util.function.Function;
-
 /**
  * This descriptor pertains to functions that consume and output multiple data quanta.
  *
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/PredicateDescriptor.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/PredicateDescriptor.java
index 6b90e27..01b5eef 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/PredicateDescriptor.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/PredicateDescriptor.java
@@ -18,12 +18,11 @@
 
 package org.apache.wayang.core.function;
 
+import java.util.Optional;
 import org.apache.wayang.core.optimizer.ProbabilisticDoubleInterval;
 import org.apache.wayang.core.optimizer.costs.LoadProfileEstimator;
 import org.apache.wayang.core.types.BasicDataUnitType;
 
-import java.util.Optional;
-
 /**
  * This descriptor pertains to predicates that consume a single data unit.
  *
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/ReduceDescriptor.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/ReduceDescriptor.java
index 0bd3853..fbc090c 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/ReduceDescriptor.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/ReduceDescriptor.java
@@ -18,6 +18,7 @@
 
 package org.apache.wayang.core.function;
 
+import java.util.function.BinaryOperator;
 import org.apache.wayang.core.optimizer.costs.LoadEstimator;
 import org.apache.wayang.core.optimizer.costs.LoadProfileEstimator;
 import org.apache.wayang.core.optimizer.costs.NestableLoadProfileEstimator;
@@ -25,8 +26,6 @@ import org.apache.wayang.core.types.BasicDataUnitType;
 import org.apache.wayang.core.types.DataUnitGroupType;
 import org.apache.wayang.core.types.DataUnitType;
 
-import java.util.function.BinaryOperator;
-
 /**
  * This descriptor pertains to functions that take multiple data units and aggregate them into a single data unit
  * by means of a tree-like fold, i.e., using a commutative, associative function..
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/TransformationDescriptor.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/TransformationDescriptor.java
index 3de70e7..34c7b6a 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/TransformationDescriptor.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/function/TransformationDescriptor.java
@@ -18,13 +18,12 @@
 
 package org.apache.wayang.core.function;
 
+import java.util.function.Function;
 import org.apache.wayang.core.optimizer.costs.LoadEstimator;
 import org.apache.wayang.core.optimizer.costs.LoadProfileEstimator;
 import org.apache.wayang.core.optimizer.costs.NestableLoadProfileEstimator;
 import org.apache.wayang.core.types.BasicDataUnitType;
 
-import java.util.function.Function;
-
 /**
  * This descriptor pertains to functions that consume a single data unit and output a single data unit.
  *
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/mapping/OperatorPattern.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/mapping/OperatorPattern.java
index 03de5b2..f876dfa 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/mapping/OperatorPattern.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/mapping/OperatorPattern.java
@@ -18,6 +18,9 @@
 
 package org.apache.wayang.core.mapping;
 
+import java.util.Collection;
+import java.util.LinkedList;
+import java.util.function.Predicate;
 import org.apache.wayang.core.plan.wayangplan.InputSlot;
 import org.apache.wayang.core.plan.wayangplan.Operator;
 import org.apache.wayang.core.plan.wayangplan.OperatorBase;
@@ -26,10 +29,6 @@ import org.apache.wayang.core.plan.wayangplan.Slot;
 import org.apache.wayang.core.plan.wayangplan.TopDownPlanVisitor;
 import org.apache.wayang.core.types.DataSetType;
 
-import java.util.Collection;
-import java.util.LinkedList;
-import java.util.function.Predicate;
-
 /**
  * An operator pattern matches to a class of operator instances.
  */
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/mapping/PlanTransformation.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/mapping/PlanTransformation.java
index 090a05b..39e0720 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/mapping/PlanTransformation.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/mapping/PlanTransformation.java
@@ -18,6 +18,12 @@
 
 package org.apache.wayang.core.mapping;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.wayang.core.plan.wayangplan.InputSlot;
 import org.apache.wayang.core.plan.wayangplan.Operator;
 import org.apache.wayang.core.plan.wayangplan.OperatorAlternative;
@@ -25,13 +31,6 @@ import org.apache.wayang.core.plan.wayangplan.OutputSlot;
 import org.apache.wayang.core.plan.wayangplan.PlanTraversal;
 import org.apache.wayang.core.plan.wayangplan.WayangPlan;
 import org.apache.wayang.core.platform.Platform;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
 
 /**
  * Looks for a {@link SubplanPattern} in a {@link WayangPlan} and replaces it with an alternative {@link Operator}s.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/mapping/ReplacementSubplanFactory.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/mapping/ReplacementSubplanFactory.java
index 9315f65..b9c2f30 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/mapping/ReplacementSubplanFactory.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/mapping/ReplacementSubplanFactory.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.core.mapping;
 
+import java.util.Map;
+import java.util.function.BiFunction;
 import org.apache.commons.lang3.Validate;
 import org.apache.wayang.core.plan.wayangplan.ActualOperator;
 import org.apache.wayang.core.plan.wayangplan.InputSlot;
@@ -27,9 +29,6 @@ import org.apache.wayang.core.plan.wayangplan.OperatorBase;
 import org.apache.wayang.core.plan.wayangplan.OutputSlot;
 import org.apache.wayang.core.plan.wayangplan.Subplan;
 
-import java.util.Map;
-import java.util.function.BiFunction;
-
 /**
  * This factory takes an {@link SubplanMatch} and derives a replacement {@link Subplan} from it.
  */
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/mapping/SubplanMatch.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/mapping/SubplanMatch.java
index 5f100b3..7bfc084 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/mapping/SubplanMatch.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/mapping/SubplanMatch.java
@@ -18,14 +18,13 @@
 
 package org.apache.wayang.core.mapping;
 
-import org.apache.wayang.core.plan.wayangplan.Operator;
-import org.apache.wayang.core.platform.Platform;
-
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Optional;
 import java.util.Set;
+import org.apache.wayang.core.plan.wayangplan.Operator;
+import org.apache.wayang.core.platform.Platform;
 
 /**
  * A subplan match correlates a {@link SubplanPattern} with its actually matched .
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/mapping/SubplanPattern.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/mapping/SubplanPattern.java
index a53065d..b6eadda 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/mapping/SubplanPattern.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/mapping/SubplanPattern.java
@@ -18,6 +18,12 @@
 
 package org.apache.wayang.core.mapping;
 
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Objects;
+import java.util.Set;
 import org.apache.commons.lang3.Validate;
 import org.apache.wayang.core.api.exception.WayangException;
 import org.apache.wayang.core.plan.wayangplan.InputSlot;
@@ -25,15 +31,8 @@ import org.apache.wayang.core.plan.wayangplan.Operator;
 import org.apache.wayang.core.plan.wayangplan.OperatorBase;
 import org.apache.wayang.core.plan.wayangplan.OutputSlot;
 import org.apache.wayang.core.plan.wayangplan.PlanTraversal;
-import org.apache.wayang.core.plan.wayangplan.WayangPlan;
 import org.apache.wayang.core.plan.wayangplan.TopDownPlanVisitor;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Objects;
-import java.util.Set;
+import org.apache.wayang.core.plan.wayangplan.WayangPlan;
 
 /**
  * A subplan pattern describes a class of subplans in a {@link WayangPlan}.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/monitor/DisabledMonitor.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/monitor/DisabledMonitor.java
index ebb598b..45077d9 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/monitor/DisabledMonitor.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/monitor/DisabledMonitor.java
@@ -18,12 +18,11 @@
 
 package org.apache.wayang.core.monitor;
 
-import org.apache.wayang.core.api.Configuration;
-
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import org.apache.wayang.core.api.Configuration;
 
 
 public class DisabledMonitor extends Monitor {
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/monitor/FileMonitor.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/monitor/FileMonitor.java
index aee3af3..e264fd9 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/monitor/FileMonitor.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/monitor/FileMonitor.java
@@ -19,16 +19,15 @@
 package org.apache.wayang.core.monitor;
 
 
-import org.apache.wayang.core.api.Configuration;
-import org.apache.wayang.core.util.fs.FileSystem;
-import org.apache.wayang.core.util.fs.FileSystems;
-
 import java.io.IOException;
 import java.io.OutputStreamWriter;
 import java.io.UncheckedIOException;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import org.apache.wayang.core.api.Configuration;
+import org.apache.wayang.core.util.fs.FileSystem;
+import org.apache.wayang.core.util.fs.FileSystems;
 import org.apache.wayang.core.util.json.JSONObject;
 
 public class FileMonitor extends Monitor {
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/monitor/HttpMonitor.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/monitor/HttpMonitor.java
index dda6335..86b234c 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/monitor/HttpMonitor.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/monitor/HttpMonitor.java
@@ -18,12 +18,11 @@
 
 package org.apache.wayang.core.monitor;
 
-import org.apache.wayang.core.api.Configuration;
-
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import org.apache.wayang.core.api.Configuration;
 
 /**
  * TODO: Implement
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/monitor/Monitor.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/monitor/Monitor.java
index 2d5e7c9..a4e8f83 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/monitor/Monitor.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/monitor/Monitor.java
@@ -18,12 +18,11 @@
 
 package org.apache.wayang.core.monitor;
 
-import org.apache.wayang.core.api.Configuration;
-
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import org.apache.wayang.core.api.Configuration;
 
 public abstract class Monitor {
 
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/monitor/ZeroMQMonitor.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/monitor/ZeroMQMonitor.java
index c031032..881560e 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/monitor/ZeroMQMonitor.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/monitor/ZeroMQMonitor.java
@@ -18,12 +18,11 @@
 
 package org.apache.wayang.core.monitor;
 
-import org.apache.wayang.core.api.Configuration;
-
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import org.apache.wayang.core.api.Configuration;
 
 /**
  * TODO: Implement
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/AggregateOptimizationContext.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/AggregateOptimizationContext.java
index 964d94a..2592632 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/AggregateOptimizationContext.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/AggregateOptimizationContext.java
@@ -18,14 +18,13 @@
 
 package org.apache.wayang.core.optimizer;
 
-import org.apache.wayang.core.plan.wayangplan.LoopSubplan;
-import org.apache.wayang.core.plan.wayangplan.Operator;
-
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
+import org.apache.wayang.core.plan.wayangplan.LoopSubplan;
+import org.apache.wayang.core.plan.wayangplan.Operator;
 
 /**
  * This {@link OptimizationContext} implementation aggregates several {@link OptimizationContext}s and exposes
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/DefaultOptimizationContext.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/DefaultOptimizationContext.java
index 187979d..f7dc525 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/DefaultOptimizationContext.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/DefaultOptimizationContext.java
@@ -18,6 +18,11 @@
 
 package org.apache.wayang.core.optimizer;
 
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
 import org.apache.wayang.core.api.Job;
 import org.apache.wayang.core.optimizer.channels.ChannelConversionGraph;
 import org.apache.wayang.core.optimizer.enumeration.PlanEnumerationPruningStrategy;
@@ -25,16 +30,10 @@ import org.apache.wayang.core.plan.wayangplan.LoopSubplan;
 import org.apache.wayang.core.plan.wayangplan.Operator;
 import org.apache.wayang.core.plan.wayangplan.OperatorAlternative;
 import org.apache.wayang.core.plan.wayangplan.PlanTraversal;
-import org.apache.wayang.core.plan.wayangplan.WayangPlan;
 import org.apache.wayang.core.plan.wayangplan.Subplan;
+import org.apache.wayang.core.plan.wayangplan.WayangPlan;
 import org.apache.wayang.core.util.WayangArrays;
 
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-
 /**
  * This implementation of {@link OptimizationContext} represents a direct mapping from {@link OptimizationContext.OperatorContext}
  * to executions of the respective {@link Operator}s.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/OptimizationContext.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/OptimizationContext.java
index 19e7b01..bf10011 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/OptimizationContext.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/OptimizationContext.java
@@ -18,6 +18,17 @@
 
 package org.apache.wayang.core.optimizer;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.function.ToDoubleFunction;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.api.Job;
 import org.apache.wayang.core.api.exception.WayangException;
@@ -40,23 +51,11 @@ import org.apache.wayang.core.plan.wayangplan.Operator;
 import org.apache.wayang.core.plan.wayangplan.OperatorContainer;
 import org.apache.wayang.core.plan.wayangplan.OutputSlot;
 import org.apache.wayang.core.plan.wayangplan.PlanTraversal;
-import org.apache.wayang.core.plan.wayangplan.WayangPlan;
 import org.apache.wayang.core.plan.wayangplan.Slot;
+import org.apache.wayang.core.plan.wayangplan.WayangPlan;
 import org.apache.wayang.core.platform.Platform;
 import org.apache.wayang.core.platform.lineage.ExecutionLineageNode;
 import org.apache.wayang.core.util.ReflectionUtils;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.function.ToDoubleFunction;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
 
 /**
  * Manages contextual information required during the optimization of a {@link WayangPlan}.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/OptimizationUtils.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/OptimizationUtils.java
index 3f71b5d..56f523b 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/OptimizationUtils.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/OptimizationUtils.java
@@ -18,6 +18,10 @@
 
 package org.apache.wayang.core.optimizer;
 
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.api.exception.WayangException;
 import org.apache.wayang.core.optimizer.enumeration.PlanEnumerationPruningStrategy;
@@ -26,14 +30,9 @@ import org.apache.wayang.core.plan.executionplan.ExecutionTask;
 import org.apache.wayang.core.plan.wayangplan.ExecutionOperator;
 import org.apache.wayang.core.plan.wayangplan.InputSlot;
 import org.apache.wayang.core.plan.wayangplan.OutputSlot;
-import org.apache.wayang.core.plan.wayangplan.WayangPlan;
 import org.apache.wayang.core.plan.wayangplan.Slot;
 import org.apache.wayang.core.plan.wayangplan.SlotMapping;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
+import org.apache.wayang.core.plan.wayangplan.WayangPlan;
 
 /**
  * Utility methods for the optimization process.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/ProbabilisticIntervalEstimate.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/ProbabilisticIntervalEstimate.java
index 5e8a112..39027c6 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/ProbabilisticIntervalEstimate.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/ProbabilisticIntervalEstimate.java
@@ -18,10 +18,9 @@
 
 package org.apache.wayang.core.optimizer;
 
-import org.apache.wayang.core.util.Formats;
-
 import java.util.Comparator;
 import java.util.Objects;
+import org.apache.wayang.core.util.Formats;
 
 /***
  * An estimate that is capable of expressing uncertainty.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/SanityChecker.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/SanityChecker.java
index d4a5703..f3061b2 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/SanityChecker.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/SanityChecker.java
@@ -18,17 +18,16 @@
 
 package org.apache.wayang.core.optimizer;
 
+import java.util.Collection;
+import java.util.concurrent.atomic.AtomicBoolean;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.wayang.core.plan.wayangplan.Operator;
 import org.apache.wayang.core.plan.wayangplan.OperatorAlternative;
 import org.apache.wayang.core.plan.wayangplan.PlanTraversal;
-import org.apache.wayang.core.plan.wayangplan.WayangPlan;
 import org.apache.wayang.core.plan.wayangplan.Subplan;
+import org.apache.wayang.core.plan.wayangplan.WayangPlan;
 import org.apache.wayang.core.util.WayangCollections;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
-import java.util.Collection;
-import java.util.concurrent.atomic.AtomicBoolean;
 
 /**
  * This class checks a {@link WayangPlan} for several sanity criteria:
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/AggregatingCardinalityEstimator.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/AggregatingCardinalityEstimator.java
index 7d404a1..1a7f438 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/AggregatingCardinalityEstimator.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/AggregatingCardinalityEstimator.java
@@ -18,11 +18,10 @@
 
 package org.apache.wayang.core.optimizer.cardinality;
 
-import org.apache.commons.lang3.Validate;
-import org.apache.wayang.core.optimizer.OptimizationContext;
-
 import java.util.ArrayList;
 import java.util.List;
+import org.apache.commons.lang3.Validate;
+import org.apache.wayang.core.optimizer.OptimizationContext;
 
 /**
  * {@link CardinalityEstimator} implementation that can have multiple ways of calculating a {@link CardinalityEstimate}.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityEstimationTraversal.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityEstimationTraversal.java
index 7dc5ae9..4cb5f1c 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityEstimationTraversal.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityEstimationTraversal.java
@@ -18,17 +18,6 @@
 
 package org.apache.wayang.core.optimizer.cardinality;
 
-import org.apache.commons.lang3.Validate;
-import org.apache.wayang.core.api.Configuration;
-import org.apache.wayang.core.optimizer.OptimizationContext;
-import org.apache.wayang.core.plan.wayangplan.InputSlot;
-import org.apache.wayang.core.plan.wayangplan.Operator;
-import org.apache.wayang.core.plan.wayangplan.OperatorContainer;
-import org.apache.wayang.core.plan.wayangplan.OutputSlot;
-import org.apache.wayang.core.plan.wayangplan.PlanTraversal;
-import org.apache.wayang.core.util.OneTimeExecutable;
-import org.apache.wayang.core.util.WayangCollections;
-
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
@@ -41,6 +30,16 @@ import java.util.Objects;
 import java.util.Queue;
 import java.util.Set;
 import java.util.stream.Stream;
+import org.apache.commons.lang3.Validate;
+import org.apache.wayang.core.api.Configuration;
+import org.apache.wayang.core.optimizer.OptimizationContext;
+import org.apache.wayang.core.plan.wayangplan.InputSlot;
+import org.apache.wayang.core.plan.wayangplan.Operator;
+import org.apache.wayang.core.plan.wayangplan.OperatorContainer;
+import org.apache.wayang.core.plan.wayangplan.OutputSlot;
+import org.apache.wayang.core.plan.wayangplan.PlanTraversal;
+import org.apache.wayang.core.util.OneTimeExecutable;
+import org.apache.wayang.core.util.WayangCollections;
 
 /**
  * {@link CardinalityEstimator} that subsumes a DAG of operators, each one providing a local {@link CardinalityEstimator}.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityEstimatorManager.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityEstimatorManager.java
index 5c046cc..0c930e7 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityEstimatorManager.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityEstimatorManager.java
@@ -18,6 +18,10 @@
 
 package org.apache.wayang.core.optimizer.cardinality;
 
+import java.util.Collections;
+import java.util.Map;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.optimizer.OptimizationUtils;
@@ -30,11 +34,8 @@ import org.apache.wayang.core.plan.wayangplan.WayangPlan;
 import org.apache.wayang.core.platform.ChannelInstance;
 import org.apache.wayang.core.platform.ExecutionState;
 import org.apache.wayang.core.platform.Junction;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;;
 
-import java.util.Collections;
-import java.util.Map;
+;
 
 /**
  * Handles the {@link CardinalityEstimate}s of a {@link WayangPlan}.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityPusher.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityPusher.java
index bb3bd58..13fb901 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityPusher.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityPusher.java
@@ -18,16 +18,15 @@
 
 package org.apache.wayang.core.optimizer.cardinality;
 
+import java.util.Arrays;
+import java.util.Objects;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.optimizer.costs.TimeEstimate;
 import org.apache.wayang.core.plan.wayangplan.Operator;
 import org.apache.wayang.core.util.WayangArrays;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
-import java.util.Arrays;
-import java.util.Objects;
 
 /**
  * Pushes a input {@link CardinalityEstimate}s through an {@link Operator} and yields its output
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/DefaultCardinalityEstimator.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/DefaultCardinalityEstimator.java
index 7582261..d52c444 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/DefaultCardinalityEstimator.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/DefaultCardinalityEstimator.java
@@ -18,12 +18,11 @@
 
 package org.apache.wayang.core.optimizer.cardinality;
 
-import org.apache.wayang.core.api.Configuration;
-import org.apache.wayang.core.optimizer.OptimizationContext;
-
 import java.util.Arrays;
 import java.util.function.ToLongBiFunction;
 import java.util.function.ToLongFunction;
+import org.apache.wayang.core.api.Configuration;
+import org.apache.wayang.core.optimizer.OptimizationContext;
 
 /**
  * Default implementation of the {@link CardinalityEstimator}. Generalizes a single-point estimation function.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/LoopHeadAlternativeCardinalityPusher.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/LoopHeadAlternativeCardinalityPusher.java
index 67a1b7a..627936e 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/LoopHeadAlternativeCardinalityPusher.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/LoopHeadAlternativeCardinalityPusher.java
@@ -18,6 +18,9 @@
 
 package org.apache.wayang.core.optimizer.cardinality;
 
+import java.util.Collection;
+import java.util.function.BiFunction;
+import java.util.stream.Collectors;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.plan.wayangplan.InputSlot;
@@ -28,10 +31,6 @@ import org.apache.wayang.core.plan.wayangplan.OutputSlot;
 import org.apache.wayang.core.plan.wayangplan.Slot;
 import org.apache.wayang.core.util.Tuple;
 
-import java.util.Collection;
-import java.util.function.BiFunction;
-import java.util.stream.Collectors;
-
 /**
  * {@link CardinalityPusher} implementation for {@link LoopHeadAlternative}s.
  */
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/LoopSubplanCardinalityPusher.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/LoopSubplanCardinalityPusher.java
index 4834bc2..32ddec7 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/LoopSubplanCardinalityPusher.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/LoopSubplanCardinalityPusher.java
@@ -18,6 +18,11 @@
 
 package org.apache.wayang.core.optimizer.cardinality;
 
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Objects;
+import java.util.Set;
+import java.util.stream.Collectors;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.plan.wayangplan.InputSlot;
@@ -26,12 +31,6 @@ import org.apache.wayang.core.plan.wayangplan.LoopSubplan;
 import org.apache.wayang.core.plan.wayangplan.Operator;
 import org.apache.wayang.core.plan.wayangplan.OutputSlot;
 
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Objects;
-import java.util.Set;
-import java.util.stream.Collectors;
-
 /**
  * {@link CardinalityPusher} implementation for {@link LoopSubplan}s.
  */
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/OperatorAlternativeCardinalityPusher.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/OperatorAlternativeCardinalityPusher.java
index d5886fc..5beb60e 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/OperatorAlternativeCardinalityPusher.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/OperatorAlternativeCardinalityPusher.java
@@ -18,14 +18,13 @@
 
 package org.apache.wayang.core.optimizer.cardinality;
 
+import java.util.List;
+import java.util.stream.Collectors;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.plan.wayangplan.OperatorAlternative;
 import org.apache.wayang.core.util.Tuple;
 
-import java.util.List;
-import java.util.stream.Collectors;
-
 /**
  * {@link CardinalityPusher} implementation for {@link OperatorAlternative}s.
  */
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/SubplanCardinalityPusher.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/SubplanCardinalityPusher.java
index 50184bc..71683a2 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/SubplanCardinalityPusher.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/SubplanCardinalityPusher.java
@@ -18,6 +18,11 @@
 
 package org.apache.wayang.core.optimizer.cardinality;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.plan.wayangplan.CompositeOperator;
@@ -28,12 +33,6 @@ import org.apache.wayang.core.plan.wayangplan.OperatorContainer;
 import org.apache.wayang.core.plan.wayangplan.OutputSlot;
 import org.apache.wayang.core.plan.wayangplan.Subplan;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.stream.Collectors;
-
 /**
  * {@link CardinalityPusher} implementation for {@link Subplan}s (but not for {@link LoopSubplan}s!)
  */
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/SwitchForwardCardinalityEstimator.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/SwitchForwardCardinalityEstimator.java
index 7f69fe5..bb50881 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/SwitchForwardCardinalityEstimator.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/SwitchForwardCardinalityEstimator.java
@@ -18,9 +18,9 @@
 
 package org.apache.wayang.core.optimizer.cardinality;
 
+import org.apache.logging.log4j.LogManager;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.plan.wayangplan.InputSlot;
-import org.apache.logging.log4j.LogManager;
 
 /**
  * Forwards the {@link CardinalityEstimate} of any given {@link InputSlot} that is not {@code null}. Asserts that
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/channels/ChannelConversion.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/channels/ChannelConversion.java
index 95590a8..fffbce5 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/channels/ChannelConversion.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/channels/ChannelConversion.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.core.optimizer.channels;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.optimizer.ProbabilisticDoubleInterval;
@@ -26,9 +28,6 @@ import org.apache.wayang.core.plan.executionplan.Channel;
 import org.apache.wayang.core.plan.wayangplan.Operator;
 import org.apache.wayang.core.platform.ChannelDescriptor;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Can convert a given {@link Channel} to another {@link Channel}.
  */
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/channels/ChannelConversionGraph.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/channels/ChannelConversionGraph.java
index 3e06c95..fcce46e 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/channels/ChannelConversionGraph.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/channels/ChannelConversionGraph.java
@@ -18,6 +18,22 @@
 
 package org.apache.wayang.core.optimizer.channels;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Random;
+import java.util.Set;
+import java.util.function.ToDoubleFunction;
+import java.util.stream.Collectors;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.DefaultOptimizationContext;
 import org.apache.wayang.core.optimizer.OptimizationContext;
@@ -37,25 +53,8 @@ import org.apache.wayang.core.platform.Junction;
 import org.apache.wayang.core.util.Bitmask;
 import org.apache.wayang.core.util.OneTimeExecutable;
 import org.apache.wayang.core.util.ReflectionUtils;
-import org.apache.wayang.core.util.WayangCollections;
 import org.apache.wayang.core.util.Tuple;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Random;
-import java.util.Set;
-import java.util.function.ToDoubleFunction;
-import java.util.stream.Collectors;
+import org.apache.wayang.core.util.WayangCollections;
 
 /**
  * This graph contains a set of {@link ChannelConversion}s.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/channels/DefaultChannelConversion.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/channels/DefaultChannelConversion.java
index d4c97a8..7c38140 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/channels/DefaultChannelConversion.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/channels/DefaultChannelConversion.java
@@ -18,6 +18,9 @@
 
 package org.apache.wayang.core.optimizer.channels;
 
+import java.util.Collection;
+import java.util.function.BiFunction;
+import java.util.function.Supplier;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.optimizer.ProbabilisticDoubleInterval;
@@ -28,10 +31,6 @@ import org.apache.wayang.core.plan.wayangplan.ExecutionOperator;
 import org.apache.wayang.core.plan.wayangplan.OutputSlot;
 import org.apache.wayang.core.platform.ChannelDescriptor;
 
-import java.util.Collection;
-import java.util.function.BiFunction;
-import java.util.function.Supplier;
-
 /**
  * Default implementation of the {@link ChannelConversion}. Can be used without further subclassing.
  */
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/DefaultLoadEstimator.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/DefaultLoadEstimator.java
index 775129e..dc13005 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/DefaultLoadEstimator.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/DefaultLoadEstimator.java
@@ -18,14 +18,13 @@
 
 package org.apache.wayang.core.optimizer.costs;
 
-import org.apache.commons.lang3.Validate;
-import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimate;
-import org.apache.wayang.core.plan.wayangplan.ExecutionOperator;
-
 import java.util.Arrays;
 import java.util.function.ToDoubleBiFunction;
 import java.util.function.ToLongBiFunction;
 import java.util.stream.LongStream;
+import org.apache.commons.lang3.Validate;
+import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimate;
+import org.apache.wayang.core.plan.wayangplan.ExecutionOperator;
 
 /**
  * Implementation of {@link LoadEstimator} that uses a single-point cost function.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/EstimationContext.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/EstimationContext.java
index d1896fd..789b4d8 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/EstimationContext.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/EstimationContext.java
@@ -18,13 +18,12 @@
 
 package org.apache.wayang.core.optimizer.costs;
 
+import java.util.Arrays;
+import java.util.Collection;
 import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimate;
 import org.apache.wayang.core.plan.wayangplan.Operator;
 import org.apache.wayang.core.util.JsonSerializables;
 import org.apache.wayang.core.util.JsonSerializer;
-
-import java.util.Arrays;
-import java.util.Collection;
 import org.apache.wayang.core.util.json.JSONObject;
 
 /**
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/IntervalLoadEstimator.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/IntervalLoadEstimator.java
index 2d7d697..9a5c395 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/IntervalLoadEstimator.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/IntervalLoadEstimator.java
@@ -18,14 +18,13 @@
 
 package org.apache.wayang.core.optimizer.costs;
 
-import org.apache.commons.lang3.Validate;
-import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimate;
-import org.apache.wayang.core.plan.wayangplan.ExecutionOperator;
-
 import java.util.Arrays;
 import java.util.function.ToDoubleBiFunction;
 import java.util.function.ToLongBiFunction;
 import java.util.stream.LongStream;
+import org.apache.commons.lang3.Validate;
+import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimate;
+import org.apache.wayang.core.plan.wayangplan.ExecutionOperator;
 
 /**
  * Implementation of {@link LoadEstimator} that uses a interval-based cost function.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadEstimator.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadEstimator.java
index 0f07067..9fb40ba 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadEstimator.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadEstimator.java
@@ -18,12 +18,11 @@
 
 package org.apache.wayang.core.optimizer.costs;
 
+import java.util.Arrays;
 import org.apache.wayang.core.function.FunctionDescriptor;
 import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimate;
 import org.apache.wayang.core.plan.wayangplan.ExecutionOperator;
 
-import java.util.Arrays;
-
 /**
  * Describes the resource utilization of something executable within an {@link EstimationContext}, such as an
  * {@link ExecutionOperator} or a {@link FunctionDescriptor}.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadProfile.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadProfile.java
index 94f5856..c0da95d 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadProfile.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadProfile.java
@@ -18,13 +18,12 @@
 
 package org.apache.wayang.core.optimizer.costs;
 
+import java.util.Collection;
+import java.util.LinkedList;
 import org.apache.wayang.core.function.FunctionDescriptor;
 import org.apache.wayang.core.plan.wayangplan.Operator;
 import org.apache.wayang.core.util.JsonSerializable;
 import org.apache.wayang.core.util.JsonSerializables;
-
-import java.util.Collection;
-import java.util.LinkedList;
 import org.apache.wayang.core.util.json.JSONObject;
 
 /**
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadProfileEstimator.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadProfileEstimator.java
index 1eb2dc3..7e933b2 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadProfileEstimator.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadProfileEstimator.java
@@ -18,10 +18,9 @@
 
 package org.apache.wayang.core.optimizer.costs;
 
-import org.apache.wayang.core.api.Configuration;
-
 import java.util.Collection;
 import java.util.LinkedList;
+import org.apache.wayang.core.api.Configuration;
 
 /**
  * Estimates the {@link LoadProfile} of some executable artifact that takes some input data quanta and produces them.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadProfileEstimators.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadProfileEstimators.java
index fcfe1fe..a0e5ca4 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadProfileEstimators.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadProfileEstimators.java
@@ -18,6 +18,19 @@
 
 package org.apache.wayang.core.optimizer.costs;
 
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import java.util.function.ToDoubleBiFunction;
+import java.util.function.ToDoubleFunction;
+import java.util.function.ToLongBiFunction;
+import java.util.stream.Collectors;
+import java.util.stream.StreamSupport;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.api.exception.WayangException;
 import org.apache.wayang.core.function.FunctionDescriptor;
@@ -33,20 +46,6 @@ import org.apache.wayang.core.util.mathex.DefaultContext;
 import org.apache.wayang.core.util.mathex.Expression;
 import org.apache.wayang.core.util.mathex.ExpressionBuilder;
 import org.apache.wayang.core.util.mathex.exceptions.EvaluationException;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Optional;
-import java.util.function.ToDoubleBiFunction;
-import java.util.function.ToDoubleFunction;
-import java.util.function.ToLongBiFunction;
-import java.util.stream.Collectors;
-import java.util.stream.StreamSupport;
 
 /**
  * Utilities to deal with {@link LoadProfileEstimator}s.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/NestableLoadProfileEstimator.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/NestableLoadProfileEstimator.java
index 7bd64c2..58be3d1 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/NestableLoadProfileEstimator.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/NestableLoadProfileEstimator.java
@@ -18,14 +18,13 @@
 
 package org.apache.wayang.core.optimizer.costs;
 
-import org.apache.wayang.core.api.Configuration;
-import org.apache.wayang.core.api.exception.WayangException;
-import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimate;
-
 import java.util.Collection;
 import java.util.LinkedList;
 import java.util.function.Function;
 import java.util.function.ToDoubleBiFunction;
+import org.apache.wayang.core.api.Configuration;
+import org.apache.wayang.core.api.exception.WayangException;
+import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimate;
 
 /**
  * {@link LoadProfileEstimator} that can host further {@link LoadProfileEstimator}s.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/SimpleEstimationContext.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/SimpleEstimationContext.java
index 5e3cac2..38b9851 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/SimpleEstimationContext.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/SimpleEstimationContext.java
@@ -18,13 +18,12 @@
 
 package org.apache.wayang.core.optimizer.costs;
 
+import java.util.Collection;
 import java.util.HashMap;
+import java.util.List;
 import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimate;
 import org.apache.wayang.core.util.JsonSerializables;
 import org.apache.wayang.core.util.JsonSerializer;
-
-import java.util.Collection;
-import java.util.List;
 import org.apache.wayang.core.util.json.JSONObject;
 
 /**
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/ExecutionTaskFlow.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/ExecutionTaskFlow.java
index 6f6daea..06f22cd 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/ExecutionTaskFlow.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/ExecutionTaskFlow.java
@@ -18,16 +18,6 @@
 
 package org.apache.wayang.core.optimizer.enumeration;
 
-import org.apache.wayang.core.plan.executionplan.Channel;
-import org.apache.wayang.core.plan.executionplan.ExecutionPlan;
-import org.apache.wayang.core.plan.executionplan.ExecutionStage;
-import org.apache.wayang.core.plan.executionplan.ExecutionTask;
-import org.apache.wayang.core.plan.executionplan.PlatformExecution;
-import org.apache.wayang.core.plan.wayangplan.ExecutionOperator;
-import org.apache.wayang.core.plan.wayangplan.traversal.AbstractTopologicalTraversal;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
@@ -36,6 +26,15 @@ import java.util.List;
 import java.util.Objects;
 import java.util.Set;
 import java.util.stream.Stream;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.apache.wayang.core.plan.executionplan.Channel;
+import org.apache.wayang.core.plan.executionplan.ExecutionPlan;
+import org.apache.wayang.core.plan.executionplan.ExecutionStage;
+import org.apache.wayang.core.plan.executionplan.ExecutionTask;
+import org.apache.wayang.core.plan.executionplan.PlatformExecution;
+import org.apache.wayang.core.plan.wayangplan.ExecutionOperator;
+import org.apache.wayang.core.plan.wayangplan.traversal.AbstractTopologicalTraversal;
 
 /**
  * Graph of {@link ExecutionTask}s and {@link Channel}s. Does not define {@link ExecutionStage}s and
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/ExecutionTaskFlowCompiler.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/ExecutionTaskFlowCompiler.java
index 972fb4e..098af4d 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/ExecutionTaskFlowCompiler.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/ExecutionTaskFlowCompiler.java
@@ -18,6 +18,17 @@
 
 package org.apache.wayang.core.optimizer.enumeration;
 
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+import org.apache.logging.log4j.LogManager;
 import org.apache.wayang.core.optimizer.OptimizationUtils;
 import org.apache.wayang.core.plan.executionplan.Channel;
 import org.apache.wayang.core.plan.executionplan.ExecutionPlan;
@@ -33,18 +44,6 @@ import org.apache.wayang.core.plan.wayangplan.WayangPlan;
 import org.apache.wayang.core.plan.wayangplan.traversal.AbstractTopologicalTraversal;
 import org.apache.wayang.core.platform.Junction;
 import org.apache.wayang.core.platform.Platform;
-import org.apache.logging.log4j.LogManager;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Set;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
 
 /**
  * Creates an {@link ExecutionTaskFlow} from a {@link PlanImplementation}.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/LatentOperatorPruningStrategy.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/LatentOperatorPruningStrategy.java
index a228f14..7aaee98 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/LatentOperatorPruningStrategy.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/LatentOperatorPruningStrategy.java
@@ -18,19 +18,18 @@
 
 package org.apache.wayang.core.optimizer.enumeration;
 
+import java.util.Collection;
+import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.api.exception.WayangException;
 import org.apache.wayang.core.plan.wayangplan.ExecutionOperator;
 import org.apache.wayang.core.plan.wayangplan.Slot;
 import org.apache.wayang.core.platform.Platform;
 import org.apache.wayang.core.util.Tuple;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.Set;
-import java.util.stream.Collectors;
 
 /**
  * This {@link PlanEnumerationPruningStrategy} follows the idea that we can prune a
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/LoopEnumerator.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/LoopEnumerator.java
index f884364..1ac5c4e 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/LoopEnumerator.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/LoopEnumerator.java
@@ -18,6 +18,12 @@
 
 package org.apache.wayang.core.optimizer.enumeration;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import org.apache.logging.log4j.LogManager;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.plan.wayangplan.InputSlot;
 import org.apache.wayang.core.plan.wayangplan.LoopHeadOperator;
@@ -26,13 +32,6 @@ import org.apache.wayang.core.plan.wayangplan.OutputSlot;
 import org.apache.wayang.core.platform.Junction;
 import org.apache.wayang.core.util.OneTimeExecutable;
 import org.apache.wayang.core.util.Tuple;
-import org.apache.logging.log4j.LogManager;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
 
 /**
  * Enumerator for {@link LoopSubplan}s.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/LoopImplementation.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/LoopImplementation.java
index 57416fa..0b577f0 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/LoopImplementation.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/LoopImplementation.java
@@ -18,6 +18,9 @@
 
 package org.apache.wayang.core.optimizer.enumeration;
 
+import java.util.LinkedList;
+import java.util.List;
+import java.util.stream.Stream;
 import org.apache.wayang.core.optimizer.ProbabilisticDoubleInterval;
 import org.apache.wayang.core.optimizer.costs.TimeEstimate;
 import org.apache.wayang.core.plan.wayangplan.ExecutionOperator;
@@ -27,10 +30,6 @@ import org.apache.wayang.core.plan.wayangplan.Operator;
 import org.apache.wayang.core.plan.wayangplan.OutputSlot;
 import org.apache.wayang.core.platform.Junction;
 
-import java.util.LinkedList;
-import java.util.List;
-import java.util.stream.Stream;
-
 /**
  * Describes the enumeration of a {@link LoopSubplan}.
  */
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanEnumeration.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanEnumeration.java
index e00753c..b441ebb 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanEnumeration.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanEnumeration.java
@@ -19,6 +19,19 @@
 package org.apache.wayang.core.optimizer.enumeration;
 
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.function.Predicate;
+import java.util.stream.Collectors;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.wayang.commons.util.profiledb.model.measurement.TimeMeasurement;
 import org.apache.wayang.core.api.Job;
 import org.apache.wayang.core.optimizer.OptimizationContext;
@@ -33,22 +46,8 @@ import org.apache.wayang.core.plan.wayangplan.OutputSlot;
 import org.apache.wayang.core.plan.wayangplan.WayangPlan;
 import org.apache.wayang.core.platform.Junction;
 import org.apache.wayang.core.util.MultiMap;
-import org.apache.wayang.core.util.WayangCollections;
 import org.apache.wayang.core.util.Tuple;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.function.Predicate;
-import java.util.stream.Collectors;
+import org.apache.wayang.core.util.WayangCollections;
 
 /**
  * Represents a collection of {@link PlanImplementation}s that all implement the same section of a {@link WayangPlan} (which
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanEnumerator.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanEnumerator.java
index 17ce28b..a490690 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanEnumerator.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanEnumerator.java
@@ -18,6 +18,25 @@
 
 package org.apache.wayang.core.optimizer.enumeration;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.PriorityQueue;
+import java.util.Queue;
+import java.util.Set;
+import java.util.concurrent.atomic.AtomicReference;
+import java.util.function.ToDoubleFunction;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.wayang.commons.util.profiledb.model.measurement.TimeMeasurement;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.api.exception.WayangException;
@@ -35,30 +54,10 @@ import org.apache.wayang.core.plan.wayangplan.OperatorAlternative;
 import org.apache.wayang.core.plan.wayangplan.OperatorContainer;
 import org.apache.wayang.core.plan.wayangplan.Operators;
 import org.apache.wayang.core.plan.wayangplan.OutputSlot;
-import org.apache.wayang.core.plan.wayangplan.WayangPlan;
 import org.apache.wayang.core.plan.wayangplan.Slot;
-import org.apache.wayang.core.util.WayangCollections;
+import org.apache.wayang.core.plan.wayangplan.WayangPlan;
 import org.apache.wayang.core.util.Tuple;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.PriorityQueue;
-import java.util.Queue;
-import java.util.Set;
-import java.util.concurrent.atomic.AtomicReference;
-import java.util.function.ToDoubleFunction;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
+import org.apache.wayang.core.util.WayangCollections;
 
 /**
  * The plan partitioner recursively dissects a {@link WayangPlan} into {@link PlanEnumeration}s and then assembles
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanImplementation.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanImplementation.java
index d8f49af..6cf32c1 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanImplementation.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanImplementation.java
@@ -18,7 +18,24 @@
 
 package org.apache.wayang.core.optimizer.enumeration;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import java.util.function.ToDoubleFunction;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
 import org.apache.commons.lang3.Validate;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.optimizer.ProbabilisticDoubleInterval;
@@ -33,31 +50,13 @@ import org.apache.wayang.core.plan.wayangplan.LoopSubplan;
 import org.apache.wayang.core.plan.wayangplan.Operator;
 import org.apache.wayang.core.plan.wayangplan.OperatorAlternative;
 import org.apache.wayang.core.plan.wayangplan.OutputSlot;
-import org.apache.wayang.core.plan.wayangplan.WayangPlan;
 import org.apache.wayang.core.plan.wayangplan.Slot;
+import org.apache.wayang.core.plan.wayangplan.WayangPlan;
 import org.apache.wayang.core.platform.Junction;
 import org.apache.wayang.core.platform.Platform;
 import org.apache.wayang.core.util.Canonicalizer;
-import org.apache.wayang.core.util.WayangCollections;
 import org.apache.wayang.core.util.Tuple;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Set;
-import java.util.function.ToDoubleFunction;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
+import org.apache.wayang.core.util.WayangCollections;
 
 /**
  * Represents a partial execution plan.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/RandomPruningStrategy.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/RandomPruningStrategy.java
index c10eb32..21c7731 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/RandomPruningStrategy.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/RandomPruningStrategy.java
@@ -18,11 +18,10 @@
 
 package org.apache.wayang.core.optimizer.enumeration;
 
-import org.apache.wayang.core.api.Configuration;
-
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Random;
+import org.apache.wayang.core.api.Configuration;
 
 /**
  * This {@link PlanEnumerationPruningStrategy} retains only the best {@code k} {@link PlanImplementation}s.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/StageAssignmentTraversal.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/StageAssignmentTraversal.java
index 2ff313c..70c0746 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/StageAssignmentTraversal.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/StageAssignmentTraversal.java
@@ -18,7 +18,20 @@
 
 package org.apache.wayang.core.optimizer.enumeration;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.Map;
+import java.util.Queue;
+import java.util.Set;
+import java.util.stream.Collectors;
 import org.apache.commons.lang3.Validate;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.wayang.core.plan.executionplan.Channel;
 import org.apache.wayang.core.plan.executionplan.ExecutionPlan;
 import org.apache.wayang.core.plan.executionplan.ExecutionStage;
@@ -34,20 +47,6 @@ import org.apache.wayang.core.platform.Platform;
 import org.apache.wayang.core.util.Iterators;
 import org.apache.wayang.core.util.OneTimeExecutable;
 import org.apache.wayang.core.util.Tuple;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.Map;
-import java.util.Queue;
-import java.util.Set;
-import java.util.stream.Collectors;
 
 /**
  * Builds an {@link ExecutionPlan} from a {@link ExecutionTaskFlow}.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/TopKPruningStrategy.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/TopKPruningStrategy.java
index a80f9d9..2447710 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/TopKPruningStrategy.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/TopKPruningStrategy.java
@@ -18,9 +18,8 @@
 
 package org.apache.wayang.core.optimizer.enumeration;
 
-import org.apache.wayang.core.api.Configuration;
-
 import java.util.ArrayList;
+import org.apache.wayang.core.api.Configuration;
 
 /**
  * This {@link PlanEnumerationPruningStrategy} retains only the best {@code k} {@link PlanImplementation}s.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/Channel.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/Channel.java
index f6e5804..a96b347 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/Channel.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/Channel.java
@@ -18,33 +18,32 @@
 
 package org.apache.wayang.core.plan.executionplan;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Objects;
+import java.util.Set;
+import java.util.function.Predicate;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimate;
 import org.apache.wayang.core.plan.wayangplan.ExecutionOperator;
 import org.apache.wayang.core.plan.wayangplan.InputSlot;
 import org.apache.wayang.core.plan.wayangplan.OutputSlot;
-import org.apache.wayang.core.plan.wayangplan.WayangPlan;
 import org.apache.wayang.core.plan.wayangplan.Slot;
+import org.apache.wayang.core.plan.wayangplan.WayangPlan;
 import org.apache.wayang.core.platform.Breakpoint;
 import org.apache.wayang.core.platform.ChannelDescriptor;
 import org.apache.wayang.core.platform.ChannelInstance;
 import org.apache.wayang.core.platform.Executor;
 import org.apache.wayang.core.platform.Platform;
 import org.apache.wayang.core.types.DataSetType;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Objects;
-import java.util.Set;
-import java.util.function.Predicate;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
 
 /**
  * Models the data movement between to {@link ExecutionTask}s.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/ExecutionPlan.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/ExecutionPlan.java
index 352c413..2961f1f 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/ExecutionPlan.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/ExecutionPlan.java
@@ -18,12 +18,6 @@
 
 package org.apache.wayang.core.plan.executionplan;
 
-import org.apache.wayang.core.optimizer.enumeration.ExecutionTaskFlow;
-import org.apache.wayang.core.optimizer.enumeration.StageAssignmentTraversal;
-import org.apache.wayang.core.util.Counter;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
@@ -35,6 +29,11 @@ import java.util.Queue;
 import java.util.Set;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.apache.wayang.core.optimizer.enumeration.ExecutionTaskFlow;
+import org.apache.wayang.core.optimizer.enumeration.StageAssignmentTraversal;
+import org.apache.wayang.core.util.Counter;
 
 /**
  * Represents an executable, cross-platform data flow. Consists of muliple {@link PlatformExecution}s.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/ExecutionStage.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/ExecutionStage.java
index ced3433..e6a1e8f 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/ExecutionStage.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/ExecutionStage.java
@@ -18,11 +18,6 @@
 
 package org.apache.wayang.core.plan.executionplan;
 
-import org.apache.commons.lang3.Validate;
-import org.apache.wayang.core.plan.wayangplan.LoopHeadOperator;
-import org.apache.wayang.core.platform.Platform;
-import org.apache.wayang.core.util.WayangCollections;
-
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
@@ -34,6 +29,10 @@ import java.util.Map;
 import java.util.Queue;
 import java.util.Set;
 import java.util.stream.Collectors;
+import org.apache.commons.lang3.Validate;
+import org.apache.wayang.core.plan.wayangplan.LoopHeadOperator;
+import org.apache.wayang.core.platform.Platform;
+import org.apache.wayang.core.util.WayangCollections;
 
 /**
  * Resides within a {@link PlatformExecution} and represents the minimum execution unit that is controlled by Wayang.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/ExecutionStageLoop.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/ExecutionStageLoop.java
index b2b6e94..f112738 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/ExecutionStageLoop.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/ExecutionStageLoop.java
@@ -18,13 +18,12 @@
 
 package org.apache.wayang.core.plan.executionplan;
 
+import java.util.Collection;
+import java.util.HashSet;
 import org.apache.wayang.core.plan.wayangplan.ExecutionOperator;
 import org.apache.wayang.core.plan.wayangplan.LoopHeadOperator;
 import org.apache.wayang.core.plan.wayangplan.LoopSubplan;
 
-import java.util.Collection;
-import java.util.HashSet;
-
 /**
  * This class models the execution equivalent of {@link LoopSubplan}s.
  */
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/PlatformExecution.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/PlatformExecution.java
index 877eba4..a338e18 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/PlatformExecution.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/PlatformExecution.java
@@ -18,13 +18,12 @@
 
 package org.apache.wayang.core.plan.executionplan;
 
-import org.apache.commons.lang3.Validate;
-import org.apache.wayang.core.platform.Platform;
-
 import java.util.Collection;
 import java.util.LinkedList;
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicInteger;
+import org.apache.commons.lang3.Validate;
+import org.apache.wayang.core.platform.Platform;
 
 /**
  * Complete data flow on a single platform, that consists of multiple {@link ExecutionStage}s.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/ElementaryOperator.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/ElementaryOperator.java
index b56f05a..3a4ae67 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/ElementaryOperator.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/ElementaryOperator.java
@@ -18,12 +18,11 @@
 
 package org.apache.wayang.core.plan.wayangplan;
 
+import java.util.Optional;
 import org.apache.commons.lang3.Validate;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimator;
 
-import java.util.Optional;
-
 /**
  * Indivisible {@link Operator} that is not containing other {@link Operator}s.
  */
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/EstimationContextProperty.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/EstimationContextProperty.java
index c64ac69..73763b8 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/EstimationContextProperty.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/EstimationContextProperty.java
@@ -18,12 +18,11 @@
 
 package org.apache.wayang.core.plan.wayangplan;
 
-import org.apache.wayang.core.optimizer.costs.EstimationContext;
-
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
+import org.apache.wayang.core.optimizer.costs.EstimationContext;
 
 /**
  * Marks a property of an {@link Operator} that is relevant to the estimation process, i.e., should be provided
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/ExecutionOperator.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/ExecutionOperator.java
index f95a946..ce3b055 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/ExecutionOperator.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/ExecutionOperator.java
@@ -18,6 +18,12 @@
 
 package org.apache.wayang.core.plan.wayangplan;
 
+import java.util.Collection;
+import java.util.Collections;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Optional;
+import org.apache.logging.log4j.LogManager;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimate;
@@ -33,13 +39,6 @@ import org.apache.wayang.core.platform.Platform;
 import org.apache.wayang.core.platform.lineage.ExecutionLineageNode;
 import org.apache.wayang.core.platform.lineage.LazyExecutionLineageNode;
 import org.apache.wayang.core.util.Tuple;
-import org.apache.logging.log4j.LogManager;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Optional;
 
 /**
  * An execution operator is handled by a certain platform.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/InputSlot.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/InputSlot.java
index 6713f48..e846e3e 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/InputSlot.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/InputSlot.java
@@ -18,9 +18,8 @@
 
 package org.apache.wayang.core.plan.wayangplan;
 
-import org.apache.wayang.core.types.DataSetType;
-
 import java.util.List;
+import org.apache.wayang.core.types.DataSetType;
 
 /**
  * An input slot declares an input of an {@link Operator}.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopHeadAlternative.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopHeadAlternative.java
index 70d9854..cd1adfb 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopHeadAlternative.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopHeadAlternative.java
@@ -18,15 +18,14 @@
 
 package org.apache.wayang.core.plan.wayangplan;
 
+import java.util.Collection;
+import java.util.Objects;
+import java.util.stream.Collectors;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.cardinality.CardinalityPusher;
 import org.apache.wayang.core.optimizer.cardinality.LoopHeadAlternativeCardinalityPusher;
 import org.apache.wayang.core.util.WayangCollections;
 
-import java.util.Collection;
-import java.util.Objects;
-import java.util.stream.Collectors;
-
 /**
  * Special {@link OperatorAlternative} for {@link LoopHeadOperator}s.
  */
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopHeadOperator.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopHeadOperator.java
index 5db5c24..63d0bc6 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopHeadOperator.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopHeadOperator.java
@@ -18,12 +18,11 @@
 
 package org.apache.wayang.core.plan.wayangplan;
 
+import java.util.Collection;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.cardinality.CardinalityPusher;
 import org.apache.wayang.core.optimizer.cardinality.DefaultCardinalityPusher;
 
-import java.util.Collection;
-
 /**
  * Head of a {@link LoopSubplan}.
  */
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopIsolator.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopIsolator.java
index e497c08..d8dcf7f 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopIsolator.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopIsolator.java
@@ -18,14 +18,13 @@
 
 package org.apache.wayang.core.plan.wayangplan;
 
-import org.apache.commons.lang3.Validate;
-import org.apache.wayang.core.util.OneTimeExecutable;
-import org.apache.logging.log4j.LogManager;
-
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashSet;
 import java.util.List;
+import org.apache.commons.lang3.Validate;
+import org.apache.logging.log4j.LogManager;
+import org.apache.wayang.core.util.OneTimeExecutable;
 
 /**
  * Goes over a {@link WayangPlan} and isolates its loops.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopSubplan.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopSubplan.java
index 079d071..a86790c 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopSubplan.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopSubplan.java
@@ -18,15 +18,14 @@
 
 package org.apache.wayang.core.plan.wayangplan;
 
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.optimizer.cardinality.CardinalityPusher;
 import org.apache.wayang.core.optimizer.cardinality.LoopSubplanCardinalityPusher;
 
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
 /**
  * Wraps a loop of {@link Operator}s.
  *
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/Operator.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/Operator.java
index 5095342..de856eb 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/Operator.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/Operator.java
@@ -18,14 +18,6 @@
 
 package org.apache.wayang.core.plan.wayangplan;
 
-import org.apache.commons.lang3.Validate;
-import org.apache.wayang.core.api.Configuration;
-import org.apache.wayang.core.optimizer.OptimizationContext;
-import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimate;
-import org.apache.wayang.core.optimizer.cardinality.CardinalityPusher;
-import org.apache.wayang.core.optimizer.cardinality.DefaultCardinalityPusher;
-import org.apache.wayang.core.platform.Platform;
-
 import java.lang.reflect.Field;
 import java.util.Arrays;
 import java.util.Collection;
@@ -36,6 +28,13 @@ import java.util.Objects;
 import java.util.Queue;
 import java.util.Set;
 import java.util.stream.Collectors;
+import org.apache.commons.lang3.Validate;
+import org.apache.wayang.core.api.Configuration;
+import org.apache.wayang.core.optimizer.OptimizationContext;
+import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimate;
+import org.apache.wayang.core.optimizer.cardinality.CardinalityPusher;
+import org.apache.wayang.core.optimizer.cardinality.DefaultCardinalityPusher;
+import org.apache.wayang.core.platform.Platform;
 
 /**
  * An operator is any node that within a {@link WayangPlan}.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OperatorAlternative.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OperatorAlternative.java
index babad5d..aff41f8 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OperatorAlternative.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OperatorAlternative.java
@@ -18,12 +18,6 @@
 
 package org.apache.wayang.core.plan.wayangplan;
 
-import org.apache.wayang.core.api.Configuration;
-import org.apache.wayang.core.optimizer.OptimizationContext;
-import org.apache.wayang.core.optimizer.cardinality.CardinalityPusher;
-import org.apache.wayang.core.optimizer.cardinality.OperatorAlternativeCardinalityPusher;
-import org.apache.wayang.core.util.WayangCollections;
-
 import java.util.Collection;
 import java.util.Collections;
 import java.util.LinkedList;
@@ -31,6 +25,11 @@ import java.util.List;
 import java.util.Set;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
+import org.apache.wayang.core.api.Configuration;
+import org.apache.wayang.core.optimizer.OptimizationContext;
+import org.apache.wayang.core.optimizer.cardinality.CardinalityPusher;
+import org.apache.wayang.core.optimizer.cardinality.OperatorAlternativeCardinalityPusher;
+import org.apache.wayang.core.util.WayangCollections;
 
 /**
  * This operator encapsulates operators that are alternative to each other.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OperatorBase.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OperatorBase.java
index e351b49..e3d662c 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OperatorBase.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OperatorBase.java
@@ -26,6 +26,13 @@ import com.google.gson.JsonObject;
 import com.google.gson.JsonParseException;
 import com.google.gson.JsonSerializationContext;
 import com.google.gson.JsonSerializer;
+import java.lang.reflect.Type;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.function.Supplier;
 import org.apache.commons.lang3.Validate;
 import org.apache.wayang.core.function.FlatMapDescriptor;
 import org.apache.wayang.core.function.FunctionDescriptor;
@@ -39,14 +46,6 @@ import org.apache.wayang.core.platform.Platform;
 import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.core.util.Tuple;
 
-import java.lang.reflect.Type;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import java.util.function.Supplier;
-
 /**
  * Helper class for the implementation of the {@link Operator} interface.
  */
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OperatorContainer.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OperatorContainer.java
index 38e86dd..d9d6087 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OperatorContainer.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OperatorContainer.java
@@ -18,14 +18,13 @@
 
 package org.apache.wayang.core.plan.wayangplan;
 
-import org.apache.wayang.core.optimizer.OptimizationContext;
-import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimate;
-import org.apache.wayang.core.util.WayangCollections;
-import org.apache.logging.log4j.LogManager;
-
 import java.util.Collection;
 import java.util.Collections;
 import java.util.stream.Collectors;
+import org.apache.logging.log4j.LogManager;
+import org.apache.wayang.core.optimizer.OptimizationContext;
+import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimate;
+import org.apache.wayang.core.util.WayangCollections;
 
 /**
  * This is not an {@link Operator} in its own right. However, it contains a set of operators and can redirect
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OperatorContainers.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OperatorContainers.java
index becd0a3..4e0d0c4 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OperatorContainers.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OperatorContainers.java
@@ -18,13 +18,12 @@
 
 package org.apache.wayang.core.plan.wayangplan;
 
-import org.apache.commons.lang3.Validate;
-
 import java.util.Arrays;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 import java.util.stream.Stream;
+import org.apache.commons.lang3.Validate;
 
 /**
  * Utilities to deal with {@link OperatorContainer}s.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OutputSlot.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OutputSlot.java
index b9a0b91..c9f3762 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OutputSlot.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OutputSlot.java
@@ -18,8 +18,6 @@
 
 package org.apache.wayang.core.plan.wayangplan;
 
-import org.apache.wayang.core.types.DataSetType;
-
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.LinkedList;
@@ -29,6 +27,7 @@ import java.util.Queue;
 import java.util.Set;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
+import org.apache.wayang.core.types.DataSetType;
 
 /**
  * An output slot declares an output of an {@link Operator}.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/PlanTraversal.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/PlanTraversal.java
index f289e5e..317ebc0 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/PlanTraversal.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/PlanTraversal.java
@@ -18,9 +18,6 @@
 
 package org.apache.wayang.core.plan.wayangplan;
 
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.HashSet;
@@ -28,6 +25,8 @@ import java.util.Set;
 import java.util.function.Predicate;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 /**
  * Traverse a plan. In each instance, every operator will be traversed only once.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/Slot.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/Slot.java
index 93f1488..09bb233 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/Slot.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/Slot.java
@@ -18,11 +18,10 @@
 
 package org.apache.wayang.core.plan.wayangplan;
 
+import java.util.Collection;
 import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimate;
 import org.apache.wayang.core.types.DataSetType;
 
-import java.util.Collection;
-
 /**
  * Abstract class for inputs and outputs to operators.
  */
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/SlotMapping.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/SlotMapping.java
index 48a1e8a..64bcd93 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/SlotMapping.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/SlotMapping.java
@@ -18,18 +18,16 @@
 
 package org.apache.wayang.core.plan.wayangplan;
 
-import java.util.Map.Entry;
-import org.apache.wayang.core.util.WayangCollections;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.Map;
-import java.util.stream.Collectors;
+import java.util.Map.Entry;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.apache.wayang.core.util.WayangCollections;
 
 /**
  * This mapping can be used to encapsulate subplans by connecting slots (usually <b>against</b> the data flow direction,
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/Subplan.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/Subplan.java
index 4954f37..a599229 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/Subplan.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/Subplan.java
@@ -18,12 +18,6 @@
 
 package org.apache.wayang.core.plan.wayangplan;
 
-import org.apache.commons.lang3.Validate;
-import org.apache.wayang.core.api.Configuration;
-import org.apache.wayang.core.optimizer.OptimizationContext;
-import org.apache.wayang.core.optimizer.cardinality.CardinalityPusher;
-import org.apache.wayang.core.optimizer.cardinality.SubplanCardinalityPusher;
-
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
@@ -32,6 +26,11 @@ import java.util.Objects;
 import java.util.Set;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
+import org.apache.commons.lang3.Validate;
+import org.apache.wayang.core.api.Configuration;
+import org.apache.wayang.core.optimizer.OptimizationContext;
+import org.apache.wayang.core.optimizer.cardinality.CardinalityPusher;
+import org.apache.wayang.core.optimizer.cardinality.SubplanCardinalityPusher;
 
 /**
  * A subplan encapsulates connected operators as a single operator.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/WayangPlan.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/WayangPlan.java
index 649a121..8ec78fc 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/WayangPlan.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/WayangPlan.java
@@ -18,19 +18,18 @@
 
 package org.apache.wayang.core.plan.wayangplan;
 
-import org.apache.commons.lang3.Validate;
-import org.apache.wayang.core.api.exception.WayangException;
-import org.apache.wayang.core.mapping.PlanTransformation;
-import org.apache.wayang.core.optimizer.SanityChecker;
-import org.apache.wayang.core.util.WayangCollections;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashSet;
 import java.util.LinkedList;
 import java.util.Set;
+import org.apache.commons.lang3.Validate;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.apache.wayang.core.api.exception.WayangException;
+import org.apache.wayang.core.mapping.PlanTransformation;
+import org.apache.wayang.core.optimizer.SanityChecker;
+import org.apache.wayang.core.util.WayangCollections;
 
 /**
  * A Wayang plan consists of a set of {@link Operator}s.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/traversal/AbstractTopologicalTraversal.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/traversal/AbstractTopologicalTraversal.java
index 10ba588..e08c77c 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/traversal/AbstractTopologicalTraversal.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/traversal/AbstractTopologicalTraversal.java
@@ -18,17 +18,16 @@
 
 package org.apache.wayang.core.plan.wayangplan.traversal;
 
+import java.util.Collection;
+import java.util.LinkedList;
+import java.util.Queue;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.wayang.core.api.exception.WayangException;
 import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimate;
 import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimator;
 import org.apache.wayang.core.plan.wayangplan.Operator;
 import org.apache.wayang.core.plan.wayangplan.WayangPlan;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
-import java.util.Collection;
-import java.util.LinkedList;
-import java.util.Queue;
 
 /**
  * Encapsulates logic to traverse a {@link WayangPlan} in a topological, bottom-up manner.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/AbstractChannelInstance.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/AbstractChannelInstance.java
index a45b565..878609b 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/AbstractChannelInstance.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/AbstractChannelInstance.java
@@ -18,13 +18,12 @@
 
 package org.apache.wayang.core.platform;
 
+import java.util.OptionalLong;
+import org.apache.logging.log4j.LogManager;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.plan.executionplan.ExecutionTask;
 import org.apache.wayang.core.plan.wayangplan.ExecutionOperator;
 import org.apache.wayang.core.platform.lineage.ChannelLineageNode;
-import org.apache.logging.log4j.LogManager;
-
-import java.util.OptionalLong;
 
 /**
  * Template for {@link ChannelInstance} implementations.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/AtomicExecutionGroup.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/AtomicExecutionGroup.java
index 1f8ba8a..a98d7ee 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/AtomicExecutionGroup.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/AtomicExecutionGroup.java
@@ -18,6 +18,7 @@
 
 package org.apache.wayang.core.platform;
 
+import java.util.Collection;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.costs.EstimationContext;
 import org.apache.wayang.core.optimizer.costs.LoadProfile;
@@ -26,8 +27,6 @@ import org.apache.wayang.core.optimizer.costs.SimpleEstimationContext;
 import org.apache.wayang.core.optimizer.costs.TimeEstimate;
 import org.apache.wayang.core.util.JsonSerializables;
 import org.apache.wayang.core.util.JsonSerializer;
-
-import java.util.Collection;
 import org.apache.wayang.core.util.json.JSONObject;
 
 /**
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/CardinalityBreakpoint.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/CardinalityBreakpoint.java
index a80ffdc..f932ff2 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/CardinalityBreakpoint.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/CardinalityBreakpoint.java
@@ -19,6 +19,8 @@
 package org.apache.wayang.core.platform;
 
 import org.apache.commons.lang3.Validate;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimate;
@@ -27,8 +29,6 @@ import org.apache.wayang.core.plan.executionplan.ExecutionStage;
 import org.apache.wayang.core.plan.wayangplan.InputSlot;
 import org.apache.wayang.core.plan.wayangplan.OutputSlot;
 import org.apache.wayang.core.plan.wayangplan.Slot;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
 
 /**
  * {@link Breakpoint} implementation that is based on the {@link CardinalityEstimate}s of {@link Channel}s.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/ChannelDescriptor.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/ChannelDescriptor.java
index 618609c..abb069d 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/ChannelDescriptor.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/ChannelDescriptor.java
@@ -18,14 +18,13 @@
 
 package org.apache.wayang.core.platform;
 
+import java.lang.reflect.Constructor;
+import java.util.Objects;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.plan.executionplan.Channel;
 import org.apache.wayang.core.plan.executionplan.ExecutionStage;
 import org.apache.wayang.core.plan.wayangplan.OutputSlot;
 
-import java.lang.reflect.Constructor;
-import java.util.Objects;
-
 /**
  * Describes a certain {@link Channel} type including further parameters.
  */
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/ChannelInstance.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/ChannelInstance.java
index b5a6fd5..787aed8 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/ChannelInstance.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/ChannelInstance.java
@@ -18,13 +18,12 @@
 
 package org.apache.wayang.core.platform;
 
+import java.util.OptionalLong;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.plan.executionplan.Channel;
 import org.apache.wayang.core.plan.wayangplan.ExecutionOperator;
 import org.apache.wayang.core.platform.lineage.ChannelLineageNode;
 
-import java.util.OptionalLong;
-
 /**
  * Represents the actual, allocated resource represented by {@link Channel}.
  */
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/ConjunctiveBreakpoint.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/ConjunctiveBreakpoint.java
index 6c35138..3c88d00 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/ConjunctiveBreakpoint.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/ConjunctiveBreakpoint.java
@@ -18,13 +18,12 @@
 
 package org.apache.wayang.core.platform;
 
-import org.apache.wayang.core.optimizer.OptimizationContext;
-import org.apache.wayang.core.plan.executionplan.ExecutionStage;
-
 import java.util.Arrays;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Objects;
+import org.apache.wayang.core.optimizer.OptimizationContext;
+import org.apache.wayang.core.plan.executionplan.ExecutionStage;
 
 /**
  * {@link Breakpoint} implementation that disrupts execution if all aggregated {@link Breakpoint}s request a disruption.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/CrossPlatformExecutor.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/CrossPlatformExecutor.java
index 1f539bd..8c96ac0 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/CrossPlatformExecutor.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/CrossPlatformExecutor.java
@@ -18,6 +18,18 @@
 
 package org.apache.wayang.core.platform;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.Map;
+import java.util.Queue;
+import java.util.Set;
+import java.util.function.Supplier;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.api.Job;
 import org.apache.wayang.core.optimizer.OptimizationContext;
@@ -33,19 +45,8 @@ import org.apache.wayang.core.plan.wayangplan.OutputSlot;
 import org.apache.wayang.core.profiling.InstrumentationStrategy;
 import org.apache.wayang.core.util.AbstractReferenceCountable;
 import org.apache.wayang.core.util.Formats;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.Map;
-import java.util.Queue;
-import java.util.Set;
-import java.util.function.Supplier;
+;
 
 /**
  * Executes a (cross-platform) {@link ExecutionPlan}.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/ExecutionState.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/ExecutionState.java
index 3cd987e..5301da3 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/ExecutionState.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/ExecutionState.java
@@ -18,11 +18,10 @@
 
 package org.apache.wayang.core.platform;
 
+import java.util.Collection;
 import org.apache.wayang.core.optimizer.enumeration.ExecutionTaskFlow;
 import org.apache.wayang.core.plan.executionplan.Channel;
 
-import java.util.Collection;
-
 /**
  * Contains a state of the execution of an {@link ExecutionTaskFlow}.
  */
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/ExecutorTemplate.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/ExecutorTemplate.java
index dd49737..699ee5d 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/ExecutorTemplate.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/ExecutorTemplate.java
@@ -18,6 +18,14 @@
 
 package org.apache.wayang.core.platform;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.OptionalLong;
+import java.util.Set;
+import java.util.concurrent.atomic.AtomicInteger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimate;
@@ -25,15 +33,6 @@ import org.apache.wayang.core.plan.executionplan.Channel;
 import org.apache.wayang.core.plan.executionplan.ExecutionStageLoop;
 import org.apache.wayang.core.platform.lineage.ExecutionLineageNode;
 import org.apache.wayang.core.util.AbstractReferenceCountable;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.OptionalLong;
-import java.util.Set;
-import java.util.concurrent.atomic.AtomicInteger;
 
 /**
  * Implements the {@link ExecutionResource} handling as defined by {@link Executor}.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/FixBreakpoint.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/FixBreakpoint.java
index f6fb93d..35b6a6b 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/FixBreakpoint.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/FixBreakpoint.java
@@ -18,14 +18,13 @@
 
 package org.apache.wayang.core.platform;
 
-import org.apache.wayang.core.optimizer.OptimizationContext;
-import org.apache.wayang.core.plan.executionplan.ExecutionPlan;
-import org.apache.wayang.core.plan.executionplan.ExecutionStage;
-
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.Set;
+import org.apache.wayang.core.optimizer.OptimizationContext;
+import org.apache.wayang.core.plan.executionplan.ExecutionPlan;
+import org.apache.wayang.core.plan.executionplan.ExecutionStage;
 
 /**
  * Describes when to interrupt the execution of an {@link ExecutionPlan}.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/Junction.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/Junction.java
index b590443..159bd91 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/Junction.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/Junction.java
@@ -18,6 +18,11 @@
 
 package org.apache.wayang.core.platform;
 
+import java.util.Collection;
+import java.util.LinkedList;
+import java.util.List;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.optimizer.ProbabilisticDoubleInterval;
 import org.apache.wayang.core.optimizer.costs.TimeEstimate;
@@ -27,12 +32,6 @@ import org.apache.wayang.core.plan.wayangplan.ExecutionOperator;
 import org.apache.wayang.core.plan.wayangplan.InputSlot;
 import org.apache.wayang.core.plan.wayangplan.OutputSlot;
 import org.apache.wayang.core.util.WayangCollections;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
-import java.util.Collection;
-import java.util.LinkedList;
-import java.util.List;
 
 /**
  * Describes the implementation of one {@link OutputSlot} to its occupied {@link InputSlot}s.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/PartialExecution.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/PartialExecution.java
index ef3a8f1..9d2ab9d 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/PartialExecution.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/PartialExecution.java
@@ -18,6 +18,10 @@
 
 package org.apache.wayang.core.platform;
 
+import java.util.Collection;
+import java.util.LinkedList;
+import java.util.Set;
+import java.util.stream.Collectors;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.optimizer.ProbabilisticDoubleInterval;
@@ -28,11 +32,6 @@ import org.apache.wayang.core.plan.wayangplan.ExecutionOperator;
 import org.apache.wayang.core.platform.lineage.ExecutionLineageNode;
 import org.apache.wayang.core.util.JsonSerializables;
 import org.apache.wayang.core.util.JsonSerializer;
-
-import java.util.Collection;
-import java.util.LinkedList;
-import java.util.Set;
-import java.util.stream.Collectors;
 import org.apache.wayang.core.util.json.JSONObject;
 
 /**
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/PushExecutorTemplate.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/PushExecutorTemplate.java
index f46ae71..5cb335b 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/PushExecutorTemplate.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/PushExecutorTemplate.java
@@ -18,6 +18,15 @@
 
 package org.apache.wayang.core.platform;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Queue;
+import java.util.Set;
 import org.apache.wayang.core.api.Job;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.plan.executionplan.Channel;
@@ -27,18 +36,8 @@ import org.apache.wayang.core.plan.wayangplan.ExecutionOperator;
 import org.apache.wayang.core.plan.wayangplan.InputSlot;
 import org.apache.wayang.core.plan.wayangplan.LoopHeadOperator;
 import org.apache.wayang.core.util.OneTimeExecutable;
-import org.apache.wayang.core.util.WayangCollections;
 import org.apache.wayang.core.util.Tuple;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Queue;
-import java.util.Set;
+import org.apache.wayang.core.util.WayangCollections;
 
 /**
  * {@link Executor} implementation that employs a push model, i.e., data quanta are "pushed"
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/lineage/ExecutionLineageNode.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/lineage/ExecutionLineageNode.java
index 7d91f7a..39446ec 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/lineage/ExecutionLineageNode.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/lineage/ExecutionLineageNode.java
@@ -18,14 +18,13 @@
 
 package org.apache.wayang.core.platform.lineage;
 
+import java.util.Collection;
+import java.util.LinkedList;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.optimizer.costs.LoadProfileEstimator;
 import org.apache.wayang.core.plan.wayangplan.ExecutionOperator;
 import org.apache.wayang.core.platform.AtomicExecution;
 
-import java.util.Collection;
-import java.util.LinkedList;
-
 /**
  * Encapsulates {@link AtomicExecution}s with a common {@link OptimizationContext.OperatorContext} in a lazy execution lineage.
  */
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/lineage/LazyExecutionLineageNode.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/lineage/LazyExecutionLineageNode.java
index ef3f6fc..6359a20 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/lineage/LazyExecutionLineageNode.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/platform/lineage/LazyExecutionLineageNode.java
@@ -18,13 +18,12 @@
 
 package org.apache.wayang.core.platform.lineage;
 
-import org.apache.wayang.core.platform.ChannelInstance;
-import org.apache.wayang.core.util.Tuple;
-import org.apache.logging.log4j.LogManager;
-
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.LinkedList;
+import org.apache.logging.log4j.LogManager;
+import org.apache.wayang.core.platform.ChannelInstance;
+import org.apache.wayang.core.util.Tuple;
 
 /**
  * A node wraps a {@link ChannelInstance} and keeps track of predecessor nodes.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plugin/DynamicPlugin.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plugin/DynamicPlugin.java
index c0d7695..a4ca0a9 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plugin/DynamicPlugin.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plugin/DynamicPlugin.java
@@ -18,17 +18,6 @@
 
 package org.apache.wayang.core.plugin;
 
-import org.apache.commons.lang3.Validate;
-import org.apache.wayang.core.api.Configuration;
-import org.apache.wayang.core.api.exception.WayangException;
-import org.apache.wayang.core.mapping.Mapping;
-import org.apache.wayang.core.optimizer.channels.ChannelConversion;
-import org.apache.wayang.core.platform.Platform;
-import org.apache.wayang.core.util.ReflectionUtils;
-import org.apache.wayang.core.util.fs.FileSystem;
-import org.apache.wayang.core.util.fs.FileSystems;
-import org.yaml.snakeyaml.Yaml;
-
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.Collection;
@@ -39,6 +28,16 @@ import java.util.Map;
 import java.util.Objects;
 import java.util.Set;
 import java.util.function.Consumer;
+import org.apache.commons.lang3.Validate;
+import org.apache.wayang.core.api.Configuration;
+import org.apache.wayang.core.api.exception.WayangException;
+import org.apache.wayang.core.mapping.Mapping;
+import org.apache.wayang.core.optimizer.channels.ChannelConversion;
+import org.apache.wayang.core.platform.Platform;
+import org.apache.wayang.core.util.ReflectionUtils;
+import org.apache.wayang.core.util.fs.FileSystem;
+import org.apache.wayang.core.util.fs.FileSystems;
+import org.yaml.snakeyaml.Yaml;
 
 /**
  * This {@link Plugin} can be arbitrarily customized.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plugin/Plugin.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plugin/Plugin.java
index a714588..4fdfc3c 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plugin/Plugin.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plugin/Plugin.java
@@ -18,15 +18,14 @@
 
 package org.apache.wayang.core.plugin;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.api.WayangContext;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.optimizer.channels.ChannelConversion;
 import org.apache.wayang.core.platform.Platform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * A plugin contributes the following components to a {@link WayangContext}:
  * <ul>
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/profiling/CardinalityRepository.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/profiling/CardinalityRepository.java
index 3418ba0..9814bc0 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/profiling/CardinalityRepository.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/profiling/CardinalityRepository.java
@@ -18,7 +18,16 @@
 
 package org.apache.wayang.core.profiling;
 
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.io.UnsupportedEncodingException;
 import org.apache.commons.io.IOUtils;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.api.exception.WayangException;
 import org.apache.wayang.core.optimizer.OptimizationContext;
@@ -29,16 +38,6 @@ import org.apache.wayang.core.plan.wayangplan.OutputSlot;
 import org.apache.wayang.core.plan.wayangplan.Slot;
 import org.apache.wayang.core.platform.CrossPlatformExecutor;
 import org.apache.wayang.core.platform.ExecutionState;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStreamWriter;
-import java.io.UnsupportedEncodingException;
 import org.apache.wayang.core.util.json.JSONArray;
 import org.apache.wayang.core.util.json.JSONObject;
 
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/profiling/ExecutionLog.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/profiling/ExecutionLog.java
index ce1a3d8..6e275f0 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/profiling/ExecutionLog.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/profiling/ExecutionLog.java
@@ -18,16 +18,6 @@
 
 package org.apache.wayang.core.profiling;
 
-import org.apache.commons.io.IOUtils;
-import org.apache.wayang.core.api.Configuration;
-import org.apache.wayang.core.api.exception.WayangException;
-import org.apache.wayang.core.platform.CrossPlatformExecutor;
-import org.apache.wayang.core.platform.PartialExecution;
-import org.apache.wayang.core.util.JsonSerializables;
-import org.apache.wayang.core.util.JsonSerializer;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
 import java.io.BufferedWriter;
 import java.io.File;
 import java.io.FileNotFoundException;
@@ -39,6 +29,15 @@ import java.nio.charset.Charset;
 import java.nio.file.Files;
 import java.nio.file.Paths;
 import java.util.stream.Stream;
+import org.apache.commons.io.IOUtils;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.apache.wayang.core.api.Configuration;
+import org.apache.wayang.core.api.exception.WayangException;
+import org.apache.wayang.core.platform.CrossPlatformExecutor;
+import org.apache.wayang.core.platform.PartialExecution;
+import org.apache.wayang.core.util.JsonSerializables;
+import org.apache.wayang.core.util.JsonSerializer;
 import org.apache.wayang.core.util.json.JSONObject;
 
 /**
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/profiling/ExecutionPlanMeasurement.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/profiling/ExecutionPlanMeasurement.java
index 1459d15..9614df8 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/profiling/ExecutionPlanMeasurement.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/profiling/ExecutionPlanMeasurement.java
@@ -19,6 +19,11 @@
 package org.apache.wayang.core.profiling;
 
 
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 import org.apache.wayang.commons.util.profiledb.model.Measurement;
 import org.apache.wayang.commons.util.profiledb.model.Type;
 import org.apache.wayang.core.plan.executionplan.Channel;
@@ -26,12 +31,6 @@ import org.apache.wayang.core.plan.executionplan.ExecutionPlan;
 import org.apache.wayang.core.plan.executionplan.ExecutionTask;
 import org.apache.wayang.core.plan.wayangplan.ExecutionOperator;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
 /**
  * This {@link Measurement} encapsulates an {@link ExecutionPlan}.
  */
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/profiling/FullInstrumentationStrategy.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/profiling/FullInstrumentationStrategy.java
index a90cb0d..d90dd90 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/profiling/FullInstrumentationStrategy.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/profiling/FullInstrumentationStrategy.java
@@ -18,11 +18,10 @@
 
 package org.apache.wayang.core.profiling;
 
+import java.util.Arrays;
 import org.apache.wayang.core.plan.executionplan.Channel;
 import org.apache.wayang.core.plan.executionplan.ExecutionStage;
 
-import java.util.Arrays;
-
 /**
  * Instruments only outbound {@link Channel}s.
  */
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/types/DataSetType.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/types/DataSetType.java
index cc409a8..66ff893 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/types/DataSetType.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/types/DataSetType.java
@@ -18,9 +18,8 @@
 
 package org.apache.wayang.core.types;
 
-import org.apache.wayang.core.util.ReflectionUtils;
-
 import java.util.Objects;
+import org.apache.wayang.core.util.ReflectionUtils;
 
 /**
  * A data set is an abstraction of the Wayang programming model. Although never directly materialized, a data set
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/types/DataUnitGroupType.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/types/DataUnitGroupType.java
index af8904e..39f9992 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/types/DataUnitGroupType.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/types/DataUnitGroupType.java
@@ -18,9 +18,8 @@
 
 package org.apache.wayang.core.types;
 
-import org.apache.wayang.core.util.ReflectionUtils;
-
 import java.util.Objects;
+import org.apache.wayang.core.util.ReflectionUtils;
 
 /**
  * A grouped data unit type describes just the structure of data units within a grouped dataset.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/JsonSerializable.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/JsonSerializable.java
index dba692e..7018401 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/JsonSerializable.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/JsonSerializable.java
@@ -18,10 +18,9 @@
 
 package org.apache.wayang.core.util;
 
-import org.apache.wayang.core.api.exception.WayangException;
-
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
+import org.apache.wayang.core.api.exception.WayangException;
 import org.apache.wayang.core.util.json.JSONObject;
 
 /**
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/JsonSerializables.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/JsonSerializables.java
index b164eac..fe1be2f 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/JsonSerializables.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/JsonSerializables.java
@@ -18,12 +18,10 @@
 
 package org.apache.wayang.core.util;
 
-import org.apache.commons.lang3.SerializationException;
-
-
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
+import org.apache.commons.lang3.SerializationException;
 import org.apache.wayang.core.util.json.JSONArray;
 import org.apache.wayang.core.util.json.JSONObject;
 
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/JuelUtils.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/JuelUtils.java
index 0ed45ad..c59c055 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/JuelUtils.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/JuelUtils.java
@@ -21,13 +21,12 @@ package org.apache.wayang.core.util;
 import de.odysseus.el.ExpressionFactoryImpl;
 import de.odysseus.el.TreeValueExpression;
 import de.odysseus.el.util.SimpleContext;
-import org.apache.wayang.core.api.exception.WayangException;
-import org.apache.wayang.core.optimizer.OptimizationUtils;
-import org.apache.logging.log4j.LogManager;
-
-import javax.el.ValueExpression;
 import java.util.HashMap;
 import java.util.Map;
+import javax.el.ValueExpression;
+import org.apache.logging.log4j.LogManager;
+import org.apache.wayang.core.api.exception.WayangException;
+import org.apache.wayang.core.optimizer.OptimizationUtils;
 
 /**
  * Utilities to deal with JUEL expressions.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/LruCache.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/LruCache.java
index 0b87241..013486d 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/LruCache.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/LruCache.java
@@ -18,10 +18,9 @@
 
 package org.apache.wayang.core.util;
 
-import org.apache.commons.lang3.Validate;
-
 import java.util.LinkedHashMap;
 import java.util.Map;
+import org.apache.commons.lang3.Validate;
 
 /**
  * Key-value cache with "least recently used" eviction strategy.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/ReflectionUtils.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/ReflectionUtils.java
index c470778..f9871dd 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/ReflectionUtils.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/ReflectionUtils.java
@@ -18,11 +18,6 @@
 
 package org.apache.wayang.core.util;
 
-import org.apache.commons.lang3.Validate;
-import org.apache.wayang.core.api.exception.WayangException;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;;
-
 import java.io.InputStream;
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Field;
@@ -46,6 +41,12 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
+import org.apache.commons.lang3.Validate;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.apache.wayang.core.api.exception.WayangException;
+
+;
 
 /**
  * Utilities for reflection code.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/WayangCollections.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/WayangCollections.java
index 5b3e891..d0a2d91 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/WayangCollections.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/WayangCollections.java
@@ -18,8 +18,6 @@
 
 package org.apache.wayang.core.util;
 
-import org.apache.commons.lang3.Validate;
-
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
@@ -33,6 +31,7 @@ import java.util.Set;
 import java.util.function.BiFunction;
 import java.util.function.Function;
 import java.util.function.Supplier;
+import org.apache.commons.lang3.Validate;
 
 /**
  * Utilities to operate {@link java.util.Collection}s.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/fs/FileSystems.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/fs/FileSystems.java
index 21ae249..01513f1 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/fs/FileSystems.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/fs/FileSystems.java
@@ -18,11 +18,6 @@
 
 package org.apache.wayang.core.util.fs;
 
-import org.apache.wayang.core.api.exception.WayangException;
-import org.apache.wayang.core.util.LruCache;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
 import java.io.FileNotFoundException;
 import java.util.Arrays;
 import java.util.Collection;
@@ -30,6 +25,10 @@ import java.util.Collections;
 import java.util.Optional;
 import java.util.OptionalLong;
 import java.util.stream.Collectors;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.apache.wayang.core.api.exception.WayangException;
+import org.apache.wayang.core.util.LruCache;
 
 /**
  * Tool to work with {@link FileSystem}s.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/fs/FileUtils.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/fs/FileUtils.java
index 85cc0da..b8dfc8d 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/fs/FileUtils.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/fs/FileUtils.java
@@ -18,9 +18,6 @@
 
 package org.apache.wayang.core.util.fs;
 
-import org.apache.commons.io.IOUtils;
-import org.apache.wayang.core.api.exception.WayangException;
-
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStreamReader;
@@ -29,6 +26,8 @@ import java.util.Iterator;
 import java.util.Spliterators;
 import java.util.stream.Stream;
 import java.util.stream.StreamSupport;
+import org.apache.commons.io.IOUtils;
+import org.apache.wayang.core.api.exception.WayangException;
 
 public class FileUtils {
 
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/fs/HadoopFileSystem.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/fs/HadoopFileSystem.java
index 735251e..a280af9 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/fs/HadoopFileSystem.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/fs/HadoopFileSystem.java
@@ -18,14 +18,6 @@
 
 package org.apache.wayang.core.util.fs;
 
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.FileStatus;
-import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;
-import org.apache.hadoop.fs.Path;
-import org.apache.wayang.core.api.exception.WayangException;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
@@ -36,6 +28,13 @@ import java.net.URL;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.stream.Collectors;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FileStatus;
+import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;
+import org.apache.hadoop.fs.Path;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.apache.wayang.core.api.exception.WayangException;
 
 /**
  * {@link FileSystem} immplementation for the HDFS.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/fs/LocalFileSystem.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/fs/LocalFileSystem.java
index ff4c24a..cf962ad 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/fs/LocalFileSystem.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/fs/LocalFileSystem.java
@@ -18,10 +18,6 @@
 
 package org.apache.wayang.core.util.fs;
 
-import org.apache.wayang.core.api.exception.WayangException;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
@@ -36,6 +32,9 @@ import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.stream.Collectors;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.apache.wayang.core.api.exception.WayangException;
 
 /**
  * {@link FileSystem} implementation for the local file system.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/Context.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/Context.java
index bd01fa5..1fbfdc3 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/Context.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/Context.java
@@ -18,9 +18,8 @@
 
 package org.apache.wayang.core.util.mathex;
 
-import org.apache.wayang.core.util.mathex.exceptions.EvaluationException;
-
 import java.util.function.ToDoubleFunction;
+import org.apache.wayang.core.util.mathex.exceptions.EvaluationException;
 
 /**
  * Provides contextual variables and functions in order to evaluate an {@link Expression}.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/DefaultContext.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/DefaultContext.java
index 0bea52c..41b8237 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/DefaultContext.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/DefaultContext.java
@@ -18,11 +18,10 @@
 
 package org.apache.wayang.core.util.mathex;
 
-import org.apache.wayang.core.util.mathex.exceptions.EvaluationException;
-
 import java.util.HashMap;
 import java.util.Map;
 import java.util.function.ToDoubleFunction;
+import org.apache.wayang.core.util.mathex.exceptions.EvaluationException;
 
 /**
  * Default {@link Context} implementation that can be configured.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/ExpressionBuilder.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/ExpressionBuilder.java
index 6170be4..e95d804 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/ExpressionBuilder.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/ExpressionBuilder.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.core.util.mathex;
 
+import java.util.List;
+import java.util.stream.Collectors;
 import org.antlr.v4.runtime.ANTLRInputStream;
 import org.antlr.v4.runtime.BaseErrorListener;
 import org.antlr.v4.runtime.CommonTokenStream;
@@ -33,9 +35,6 @@ import org.apache.wayang.core.util.mathex.model.NamedFunction;
 import org.apache.wayang.core.util.mathex.model.UnaryOperation;
 import org.apache.wayang.core.util.mathex.model.Variable;
 
-import java.util.List;
-import java.util.stream.Collectors;
-
 /**
  * This utility builds {@link Expression}s from an input {@link String}.
  */
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/model/CompiledFunction.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/model/CompiledFunction.java
index 11455ab..06a15ac 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/model/CompiledFunction.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/model/CompiledFunction.java
@@ -18,13 +18,12 @@
 
 package org.apache.wayang.core.util.mathex.model;
 
-import org.apache.wayang.core.util.mathex.Context;
-import org.apache.wayang.core.util.mathex.Expression;
-
 import java.util.ArrayList;
 import java.util.List;
 import java.util.function.ToDoubleFunction;
 import java.util.stream.Collectors;
+import org.apache.wayang.core.util.mathex.Context;
+import org.apache.wayang.core.util.mathex.Expression;
 
 /**
  * {@link Expression} implementation that represents a function with a static implementation.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/model/NamedFunction.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/model/NamedFunction.java
index 9c26eb4..b27e5f3 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/model/NamedFunction.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/model/NamedFunction.java
@@ -18,13 +18,12 @@
 
 package org.apache.wayang.core.util.mathex.model;
 
-import org.apache.wayang.core.util.mathex.Context;
-import org.apache.wayang.core.util.mathex.Expression;
-import org.apache.wayang.core.util.mathex.exceptions.EvaluationException;
-
 import java.util.List;
 import java.util.function.ToDoubleFunction;
 import java.util.stream.Collectors;
+import org.apache.wayang.core.util.mathex.Context;
+import org.apache.wayang.core.util.mathex.Expression;
+import org.apache.wayang.core.util.mathex.exceptions.EvaluationException;
 
 /**
  * {@link Expression} implementation that represents a function that is identified
diff --git a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/SlotTest.java b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/SlotTest.java
index ebc8e8a..6f4b3ca 100644
--- a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/SlotTest.java
+++ b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/SlotTest.java
@@ -18,13 +18,13 @@
 
 package org.apache.wayang.core;
 
-import org.junit.Test;
 import org.apache.wayang.core.plan.wayangplan.Slot;
 import org.apache.wayang.core.plan.wayangplan.test.TestSink;
 import org.apache.wayang.core.plan.wayangplan.test.TestSource;
 import org.apache.wayang.core.test.TestDataUnit;
 import org.apache.wayang.core.test.TestDataUnit2;
 import org.apache.wayang.core.types.DataSetType;
+import org.junit.Test;
 
 /**
  * Test suite for {@link Slot}s.
diff --git a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/mapping/OperatorPatternTest.java b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/mapping/OperatorPatternTest.java
index 1cc7101..2000d43 100644
--- a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/mapping/OperatorPatternTest.java
+++ b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/mapping/OperatorPatternTest.java
@@ -18,9 +18,9 @@
 
 package org.apache.wayang.core.mapping;
 
+import org.apache.wayang.core.test.DummyExecutionOperator;
 import org.junit.Assert;
 import org.junit.Test;
-import org.apache.wayang.core.test.DummyExecutionOperator;
 
 /**
  * Tests for {@link OperatorPattern}.
diff --git a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/mapping/PlanTransformationTest.java b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/mapping/PlanTransformationTest.java
index d98cbb8..7457c8a 100644
--- a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/mapping/PlanTransformationTest.java
+++ b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/mapping/PlanTransformationTest.java
@@ -18,19 +18,19 @@
 
 package org.apache.wayang.core.mapping;
 
-import org.junit.Assert;
-import org.junit.Test;
 import org.apache.wayang.core.mapping.test.TestSinkToTestSink2Factory;
 import org.apache.wayang.core.plan.wayangplan.Operator;
 import org.apache.wayang.core.plan.wayangplan.OperatorAlternative;
-import org.apache.wayang.core.plan.wayangplan.WayangPlan;
 import org.apache.wayang.core.plan.wayangplan.UnarySink;
 import org.apache.wayang.core.plan.wayangplan.UnarySource;
+import org.apache.wayang.core.plan.wayangplan.WayangPlan;
 import org.apache.wayang.core.plan.wayangplan.test.TestSink;
 import org.apache.wayang.core.plan.wayangplan.test.TestSink2;
 import org.apache.wayang.core.plan.wayangplan.test.TestSource;
 import org.apache.wayang.core.test.TestDataUnit;
 import org.apache.wayang.core.types.DataSetType;
+import org.junit.Assert;
+import org.junit.Test;
 
 /**
  * Test suite for the {@link org.apache.wayang.core.mapping.PlanTransformation} class.
diff --git a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/mapping/SubplanPatternTest.java b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/mapping/SubplanPatternTest.java
index dec530b..5e84d27 100644
--- a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/mapping/SubplanPatternTest.java
+++ b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/mapping/SubplanPatternTest.java
@@ -18,18 +18,17 @@
 
 package org.apache.wayang.core.mapping;
 
-import org.junit.Assert;
-import org.junit.Test;
+import java.util.List;
 import org.apache.wayang.core.plan.wayangplan.Operator;
-import org.apache.wayang.core.plan.wayangplan.WayangPlan;
 import org.apache.wayang.core.plan.wayangplan.UnarySink;
 import org.apache.wayang.core.plan.wayangplan.UnarySource;
+import org.apache.wayang.core.plan.wayangplan.WayangPlan;
 import org.apache.wayang.core.plan.wayangplan.test.TestSink;
 import org.apache.wayang.core.plan.wayangplan.test.TestSource;
 import org.apache.wayang.core.test.TestDataUnit;
 import org.apache.wayang.core.types.DataSetType;
-
-import java.util.List;
+import org.junit.Assert;
+import org.junit.Test;
 
 /**
  * Test suite for the {@link SubplanPattern}.
diff --git a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/mapping/test/TestSinkMapping.java b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/mapping/test/TestSinkMapping.java
index 8b57d34..da575e7 100644
--- a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/mapping/test/TestSinkMapping.java
+++ b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/mapping/test/TestSinkMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.core.mapping.test;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
 import org.apache.wayang.core.mapping.PlanTransformation;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.plan.wayangplan.test.TestSink2;
 import org.apache.wayang.core.test.DummyPlatform;
 import org.apache.wayang.core.types.DataSetType;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Dummy {@link Mapping} implementation from {@link TestSink} to {@link TestSink2}.
  */
diff --git a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/optimizer/cardinality/AggregatingCardinalityEstimatorTest.java b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/optimizer/cardinality/AggregatingCardinalityEstimatorTest.java
index e72d942..188744b 100644
--- a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/optimizer/cardinality/AggregatingCardinalityEstimatorTest.java
+++ b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/optimizer/cardinality/AggregatingCardinalityEstimatorTest.java
@@ -18,16 +18,15 @@
 
 package org.apache.wayang.core.optimizer.cardinality;
 
-import org.junit.Assert;
-import org.junit.Test;
-import org.apache.wayang.core.api.Configuration;
-import org.apache.wayang.core.optimizer.OptimizationContext;
-
-import java.util.Arrays;
-
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
+import java.util.Arrays;
+import org.apache.wayang.core.api.Configuration;
+import org.apache.wayang.core.optimizer.OptimizationContext;
+import org.junit.Assert;
+import org.junit.Test;
+
 /**
  * Test suite for {@link AggregatingCardinalityEstimator}.
  */
diff --git a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/optimizer/cardinality/DefaultCardinalityEstimatorTest.java b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/optimizer/cardinality/DefaultCardinalityEstimatorTest.java
index 5ffc3ab..7ec3312 100644
--- a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/optimizer/cardinality/DefaultCardinalityEstimatorTest.java
+++ b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/optimizer/cardinality/DefaultCardinalityEstimatorTest.java
@@ -18,16 +18,15 @@
 
 package org.apache.wayang.core.optimizer.cardinality;
 
-import org.junit.Assert;
-import org.junit.Test;
-import org.apache.wayang.core.api.Configuration;
-import org.apache.wayang.core.optimizer.OptimizationContext;
-
-import java.util.function.ToLongFunction;
-
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
+import java.util.function.ToLongFunction;
+import org.apache.wayang.core.api.Configuration;
+import org.apache.wayang.core.optimizer.OptimizationContext;
+import org.junit.Assert;
+import org.junit.Test;
+
 
 /**
  * Test suite for the {@link DefaultCardinalityEstimator}.
diff --git a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/optimizer/cardinality/LoopSubplanCardinalityPusherTest.java b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/optimizer/cardinality/LoopSubplanCardinalityPusherTest.java
index 5a4583e..d50b266 100644
--- a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/optimizer/cardinality/LoopSubplanCardinalityPusherTest.java
+++ b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/optimizer/cardinality/LoopSubplanCardinalityPusherTest.java
@@ -18,9 +18,6 @@
 
 package org.apache.wayang.core.optimizer.cardinality;
 
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.api.Job;
 import org.apache.wayang.core.api.configuration.FunctionalKeyValueProvider;
@@ -38,6 +35,9 @@ import org.apache.wayang.core.plan.wayangplan.test.TestLoopHead;
 import org.apache.wayang.core.plan.wayangplan.test.TestSource;
 import org.apache.wayang.core.test.MockFactory;
 import org.apache.wayang.core.util.WayangCollections;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
 
 /**
  * Test suite for {@link LoopSubplanCardinalityPusher}.
diff --git a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/optimizer/cardinality/SubplanCardinalityPusherTest.java b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/optimizer/cardinality/SubplanCardinalityPusherTest.java
index 60b194a..a689a52 100644
--- a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/optimizer/cardinality/SubplanCardinalityPusherTest.java
+++ b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/optimizer/cardinality/SubplanCardinalityPusherTest.java
@@ -18,9 +18,6 @@
 
 package org.apache.wayang.core.optimizer.cardinality;
 
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.api.Job;
 import org.apache.wayang.core.api.configuration.FunctionalKeyValueProvider;
@@ -35,6 +32,9 @@ import org.apache.wayang.core.plan.wayangplan.test.TestMapOperator;
 import org.apache.wayang.core.plan.wayangplan.test.TestSource;
 import org.apache.wayang.core.test.MockFactory;
 import org.apache.wayang.core.types.DataSetType;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
 
 /**
  * Test suite for {@link SubplanCardinalityPusher}.
diff --git a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/optimizer/channels/ChannelConversionGraphTest.java b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/optimizer/channels/ChannelConversionGraphTest.java
index 7013c6c..c08fc14 100644
--- a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/optimizer/channels/ChannelConversionGraphTest.java
+++ b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/optimizer/channels/ChannelConversionGraphTest.java
@@ -18,9 +18,8 @@
 
 package org.apache.wayang.core.optimizer.channels;
 
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import java.util.Arrays;
+import java.util.function.Supplier;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.api.Job;
 import org.apache.wayang.core.optimizer.DefaultOptimizationContext;
@@ -38,9 +37,9 @@ import org.apache.wayang.core.test.DummyNonReusableChannel;
 import org.apache.wayang.core.test.DummyReusableChannel;
 import org.apache.wayang.core.test.MockFactory;
 import org.apache.wayang.core.util.WayangCollections;
-
-import java.util.Arrays;
-import java.util.function.Supplier;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
 
 /**
  * Test suite for {@link ChannelConversionGraph}.
diff --git a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/optimizer/costs/NestableLoadProfileEstimatorTest.java b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/optimizer/costs/NestableLoadProfileEstimatorTest.java
index 6295021..20c12c2 100644
--- a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/optimizer/costs/NestableLoadProfileEstimatorTest.java
+++ b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/optimizer/costs/NestableLoadProfileEstimatorTest.java
@@ -19,8 +19,7 @@
 package org.apache.wayang.core.optimizer.costs;
 
 import java.util.HashMap;
-import org.junit.Assert;
-import org.junit.Test;
+import java.util.List;
 import org.apache.wayang.core.optimizer.OptimizationUtils;
 import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimate;
 import org.apache.wayang.core.plan.wayangplan.ExecutionOperator;
@@ -28,8 +27,8 @@ import org.apache.wayang.core.plan.wayangplan.UnaryToUnaryOperator;
 import org.apache.wayang.core.platform.ChannelDescriptor;
 import org.apache.wayang.core.platform.Platform;
 import org.apache.wayang.core.types.DataSetType;
-
-import java.util.List;
+import org.junit.Assert;
+import org.junit.Test;
 
 /**
  * Tests for the {@link NestableLoadProfileEstimator}.
diff --git a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/optimizer/enumeration/StageAssignmentTraversalTest.java b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/optimizer/enumeration/StageAssignmentTraversalTest.java
index 9d3d2eb..b0604a3 100644
--- a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/optimizer/enumeration/StageAssignmentTraversalTest.java
+++ b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/optimizer/enumeration/StageAssignmentTraversalTest.java
@@ -18,8 +18,7 @@
 
 package org.apache.wayang.core.optimizer.enumeration;
 
-import org.junit.Assert;
-import org.junit.Test;
+import java.util.Collections;
 import org.apache.wayang.core.plan.executionplan.Channel;
 import org.apache.wayang.core.plan.executionplan.ExecutionPlan;
 import org.apache.wayang.core.plan.executionplan.ExecutionStage;
@@ -28,8 +27,8 @@ import org.apache.wayang.core.plan.executionplan.test.TestChannel;
 import org.apache.wayang.core.plan.wayangplan.ExecutionOperator;
 import org.apache.wayang.core.platform.Platform;
 import org.apache.wayang.core.test.MockFactory;
-
-import java.util.Collections;
+import org.junit.Assert;
+import org.junit.Test;
 
 /**
  * Test suite for {@link StageAssignmentTraversal}.
diff --git a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/LoopIsolatorTest.java b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/LoopIsolatorTest.java
index 6eae428..546e635 100644
--- a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/LoopIsolatorTest.java
+++ b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/LoopIsolatorTest.java
@@ -18,15 +18,14 @@
 
 package org.apache.wayang.core.plan.wayangplan;
 
-import org.junit.Assert;
-import org.junit.Test;
+import java.util.ArrayList;
+import java.util.List;
 import org.apache.wayang.core.plan.wayangplan.test.TestLoopHead;
 import org.apache.wayang.core.plan.wayangplan.test.TestMapOperator;
 import org.apache.wayang.core.plan.wayangplan.test.TestSink;
 import org.apache.wayang.core.plan.wayangplan.test.TestSource;
-
-import java.util.ArrayList;
-import java.util.List;
+import org.junit.Assert;
+import org.junit.Test;
 
 /**
  * Test suite for the {@link LoopIsolator}.
diff --git a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/OperatorTest.java b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/OperatorTest.java
index 4018ee1..c2638eb 100644
--- a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/OperatorTest.java
+++ b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/OperatorTest.java
@@ -18,12 +18,11 @@
 
 package org.apache.wayang.core.plan.wayangplan;
 
-import org.junit.Assert;
-import org.junit.Test;
+import java.util.Collection;
 import org.apache.wayang.core.util.ReflectionUtils;
 import org.apache.wayang.core.util.WayangCollections;
-
-import java.util.Collection;
+import org.junit.Assert;
+import org.junit.Test;
 
 /**
  * Test suite for the {@link Operator} class.
diff --git a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/SlotMappingTest.java b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/SlotMappingTest.java
index 6659beb..1a8da28 100644
--- a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/SlotMappingTest.java
+++ b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/SlotMappingTest.java
@@ -18,15 +18,14 @@
 
 package org.apache.wayang.core.plan.wayangplan;
 
-import org.junit.Assert;
-import org.junit.Test;
-import org.apache.wayang.core.plan.wayangplan.test.TestSink;
-import org.apache.wayang.core.plan.wayangplan.test.TestSource;
-import org.apache.wayang.core.types.DataSetType;
-
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
+import org.apache.wayang.core.plan.wayangplan.test.TestSink;
+import org.apache.wayang.core.plan.wayangplan.test.TestSource;
+import org.apache.wayang.core.types.DataSetType;
+import org.junit.Assert;
+import org.junit.Test;
 
 /**
  * Test suite for {@link SlotMapping}.
diff --git a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestFilterOperator.java b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestFilterOperator.java
index c05ad58..e524993 100644
--- a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestFilterOperator.java
+++ b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestFilterOperator.java
@@ -18,6 +18,7 @@
 
 package org.apache.wayang.core.plan.wayangplan.test;
 
+import java.util.Optional;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimator;
 import org.apache.wayang.core.optimizer.cardinality.DefaultCardinalityEstimator;
@@ -25,8 +26,6 @@ import org.apache.wayang.core.plan.wayangplan.UnaryToUnaryOperator;
 import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.core.types.DataUnitType;
 
-import java.util.Optional;
-
 /**
  * Test operator that exposes filter-like behavior.
  */
diff --git a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestJoin.java b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestJoin.java
index 6c8424e..f91bd53 100644
--- a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestJoin.java
+++ b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestJoin.java
@@ -19,6 +19,7 @@
 package org.apache.wayang.core.plan.wayangplan.test;
 
 
+import java.util.Optional;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimator;
 import org.apache.wayang.core.optimizer.cardinality.DefaultCardinalityEstimator;
@@ -30,8 +31,6 @@ import org.apache.wayang.core.plan.wayangplan.TopDownPlanVisitor;
 import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.core.types.DataUnitType;
 
-import java.util.Optional;
-
 /**
  * Join-like operator.
  */
diff --git a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestLoopHead.java b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestLoopHead.java
index f938da9..c6f79cc 100644
--- a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestLoopHead.java
+++ b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestLoopHead.java
@@ -18,6 +18,9 @@
 
 package org.apache.wayang.core.plan.wayangplan.test;
 
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Optional;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimator;
 import org.apache.wayang.core.optimizer.cardinality.SwitchForwardCardinalityEstimator;
@@ -29,10 +32,6 @@ import org.apache.wayang.core.plan.wayangplan.OutputSlot;
 import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.core.types.DataUnitType;
 
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Optional;
-
 /**
  * {@link LoopHeadOperator} implementation for test purposes.
  */
diff --git a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestMapOperator.java b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestMapOperator.java
index 216f0a4..3988fe5 100644
--- a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestMapOperator.java
+++ b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestMapOperator.java
@@ -18,6 +18,7 @@
 
 package org.apache.wayang.core.plan.wayangplan.test;
 
+import java.util.Optional;
 import org.apache.commons.lang3.Validate;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimator;
@@ -26,8 +27,6 @@ import org.apache.wayang.core.plan.wayangplan.UnaryToUnaryOperator;
 import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.core.types.DataUnitType;
 
-import java.util.Optional;
-
 /**
  * Test operator that exposes map-like behavior.
  */
diff --git a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestSink.java b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestSink.java
index e934f31..bfd1dea 100644
--- a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestSink.java
+++ b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestSink.java
@@ -18,14 +18,13 @@
 
 package org.apache.wayang.core.plan.wayangplan.test;
 
+import java.util.Optional;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimator;
 import org.apache.wayang.core.plan.wayangplan.UnarySink;
 import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.core.types.DataUnitType;
 
-import java.util.Optional;
-
 /**
  * Dummy sink for testing purposes.
  */
diff --git a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestSource.java b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestSource.java
index 06ea764..a81e922 100644
--- a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestSource.java
+++ b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestSource.java
@@ -18,6 +18,7 @@
 
 package org.apache.wayang.core.plan.wayangplan.test;
 
+import java.util.Optional;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimator;
 import org.apache.wayang.core.optimizer.cardinality.FixedSizeCardinalityEstimator;
@@ -25,8 +26,6 @@ import org.apache.wayang.core.plan.wayangplan.UnarySource;
 import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.core.types.DataUnitType;
 
-import java.util.Optional;
-
 /**
  * Dummy source for testing purposes.
  */
diff --git a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/platform/PartialExecutionTest.java b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/platform/PartialExecutionTest.java
index f39d331..5740114 100644
--- a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/platform/PartialExecutionTest.java
+++ b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/platform/PartialExecutionTest.java
@@ -18,9 +18,10 @@
 
 package org.apache.wayang.core.platform;
 
-import org.apache.wayang.core.util.json.JSONObject;
-import org.junit.Assert;
-import org.junit.Test;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.util.Arrays;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.api.configuration.KeyValueProvider;
 import org.apache.wayang.core.optimizer.OptimizationContext;
@@ -33,11 +34,9 @@ import org.apache.wayang.core.test.DummyPlatform;
 import org.apache.wayang.core.test.SerializableDummyExecutionOperator;
 import org.apache.wayang.core.util.JsonSerializables;
 import org.apache.wayang.core.util.WayangCollections;
-
-import java.util.Arrays;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
+import org.apache.wayang.core.util.json.JSONObject;
+import org.junit.Assert;
+import org.junit.Test;
 
 /**
  * Test suites for {@link PartialExecution}s.
diff --git a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plugin/DynamicPluginTest.java b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plugin/DynamicPluginTest.java
index 6fd6b39..713613a 100644
--- a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plugin/DynamicPluginTest.java
+++ b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/plugin/DynamicPluginTest.java
@@ -18,8 +18,11 @@
 
 package org.apache.wayang.core.plugin;
 
-import org.junit.Assert;
-import org.junit.Test;
+import static org.mockito.Mockito.mock;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Set;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.test.TestSinkMapping;
@@ -30,12 +33,8 @@ import org.apache.wayang.core.platform.Platform;
 import org.apache.wayang.core.test.DummyPlatform;
 import org.apache.wayang.core.util.ReflectionUtils;
 import org.apache.wayang.core.util.WayangCollections;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Set;
-
-import static org.mockito.Mockito.mock;
+import org.junit.Assert;
+import org.junit.Test;
 
 /**
  * Test suite for the {@link DynamicPlugin} class.
diff --git a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/test/DummyExecutionOperator.java b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/test/DummyExecutionOperator.java
index ae3e7ec..97234de 100644
--- a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/test/DummyExecutionOperator.java
+++ b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/test/DummyExecutionOperator.java
@@ -18,6 +18,9 @@
 
 package org.apache.wayang.core.test;
 
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.List;
 import org.apache.wayang.core.plan.wayangplan.ExecutionOperator;
 import org.apache.wayang.core.plan.wayangplan.InputSlot;
 import org.apache.wayang.core.plan.wayangplan.OperatorBase;
@@ -26,10 +29,6 @@ import org.apache.wayang.core.platform.ChannelDescriptor;
 import org.apache.wayang.core.platform.Platform;
 import org.apache.wayang.core.types.DataSetType;
 
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.List;
-
 /**
  * Dummy {@link ExecutionOperator} for test purposes.
  */
diff --git a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/test/MockFactory.java b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/test/MockFactory.java
index a125d21..fa672c2 100644
--- a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/test/MockFactory.java
+++ b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/test/MockFactory.java
@@ -18,7 +18,10 @@
 
 package org.apache.wayang.core.test;
 
-import org.mockito.Answers;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.util.Collections;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.api.Job;
 import org.apache.wayang.core.optimizer.DefaultOptimizationContext;
@@ -29,11 +32,7 @@ import org.apache.wayang.core.plan.wayangplan.OperatorContainer;
 import org.apache.wayang.core.plan.wayangplan.OutputSlot;
 import org.apache.wayang.core.platform.Platform;
 import org.apache.wayang.core.types.DataSetType;
-
-import java.util.Collections;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
+import org.mockito.Answers;
 
 /**
  * Utility to mock Wayang objects.
diff --git a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/util/ConsumerIteratorAdapterTest.java b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/util/ConsumerIteratorAdapterTest.java
index 5b1faa1..071b139 100644
--- a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/util/ConsumerIteratorAdapterTest.java
+++ b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/util/ConsumerIteratorAdapterTest.java
@@ -18,13 +18,12 @@
 
 package org.apache.wayang.core.util;
 
-import org.junit.Assert;
-import org.junit.Test;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
 import java.util.Iterator;
 import java.util.function.Consumer;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.junit.Assert;
+import org.junit.Test;
 
 /**
  * Test suite for the {@link ConsumerIteratorAdapter}.
diff --git a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/util/CrossProductIterableTest.java b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/util/CrossProductIterableTest.java
index 021d5c8..8f1b124 100644
--- a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/util/CrossProductIterableTest.java
+++ b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/util/CrossProductIterableTest.java
@@ -18,13 +18,12 @@
 
 package org.apache.wayang.core.util;
 
-import org.junit.Assert;
-import org.junit.Test;
-
 import java.util.Arrays;
 import java.util.List;
 import java.util.stream.Collectors;
 import java.util.stream.StreamSupport;
+import org.junit.Assert;
+import org.junit.Test;
 
 /**
  * Test suite for {@link CrossProductIterable}.
diff --git a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/util/LimitedInputStreamTest.java b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/util/LimitedInputStreamTest.java
index f757d79..48dfde5 100644
--- a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/util/LimitedInputStreamTest.java
+++ b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/util/LimitedInputStreamTest.java
@@ -18,11 +18,10 @@
 
 package org.apache.wayang.core.util;
 
-import org.junit.Assert;
-import org.junit.Test;
-
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
+import org.junit.Assert;
+import org.junit.Test;
 
 /**
  * Test suite for the {@link LimitedInputStream}.
diff --git a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/util/ReflectionUtilsTest.java b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/util/ReflectionUtilsTest.java
index 380b250..f6b53ea 100644
--- a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/util/ReflectionUtilsTest.java
+++ b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/util/ReflectionUtilsTest.java
@@ -18,12 +18,11 @@
 
 package org.apache.wayang.core.util;
 
-import org.junit.Assert;
-import org.junit.Test;
-
 import java.lang.reflect.Type;
 import java.util.HashMap;
 import java.util.Map;
+import org.junit.Assert;
+import org.junit.Test;
 
 /**
  * Test suite for {@link ReflectionUtils}.
diff --git a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/util/WayangCollectionsTest.java b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/util/WayangCollectionsTest.java
index 210e831..b26e192 100644
--- a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/util/WayangCollectionsTest.java
+++ b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/util/WayangCollectionsTest.java
@@ -18,12 +18,11 @@
 
 package org.apache.wayang.core.util;
 
-import org.junit.Assert;
-import org.junit.Test;
-
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
+import org.junit.Assert;
+import org.junit.Test;
 
 /**
  * Test suite for {@link WayangCollections}.
diff --git a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/util/mathex/ExpressionBuilderTest.java b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/util/mathex/ExpressionBuilderTest.java
index 05c9a97..b311548 100644
--- a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/util/mathex/ExpressionBuilderTest.java
+++ b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/util/mathex/ExpressionBuilderTest.java
@@ -19,12 +19,11 @@
 package org.apache.wayang.core.util.mathex;
 
 
-import org.junit.Assert;
-import org.junit.Test;
-import org.apache.wayang.core.util.mathex.exceptions.ParseException;
-
 import java.util.Arrays;
 import java.util.Collection;
+import org.apache.wayang.core.util.mathex.exceptions.ParseException;
+import org.junit.Assert;
+import org.junit.Test;
 
 /**
  * Test suite for the class {@link ExpressionBuilder}.
diff --git a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/util/mathex/ExpressionTest.java b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/util/mathex/ExpressionTest.java
index b2ac236..a789b0b 100644
--- a/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/util/mathex/ExpressionTest.java
+++ b/wayang-commons/wayang-core/src/test/java/org/apache/wayang/core/util/mathex/ExpressionTest.java
@@ -18,15 +18,14 @@
 
 package org.apache.wayang.core.util.mathex;
 
-import org.junit.Assert;
-import org.junit.Test;
+import java.util.Arrays;
+import java.util.Collection;
 import org.apache.wayang.core.util.mathex.exceptions.EvaluationException;
 import org.apache.wayang.core.util.mathex.model.CompiledFunction;
 import org.apache.wayang.core.util.mathex.model.Constant;
 import org.apache.wayang.core.util.mathex.model.NamedFunction;
-
-import java.util.Arrays;
-import java.util.Collection;
+import org.junit.Assert;
+import org.junit.Test;
 
 /**
  * Test suite for the {@link Expression} subclasses.
diff --git a/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/ProfileDB.java b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/ProfileDB.java
index d5550b9..a3ab9ae 100644
--- a/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/ProfileDB.java
+++ b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/ProfileDB.java
@@ -20,18 +20,19 @@ package org.apache.wayang.commons.util.profiledb;
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.Collection;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.function.Consumer;
 import org.apache.wayang.commons.util.profiledb.json.MeasurementDeserializer;
 import org.apache.wayang.commons.util.profiledb.json.MeasurementSerializer;
 import org.apache.wayang.commons.util.profiledb.model.Experiment;
 import org.apache.wayang.commons.util.profiledb.model.Measurement;
 import org.apache.wayang.commons.util.profiledb.storage.Storage;
 
-import java.io.*;
-import java.util.Collection;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.function.Consumer;
-
 /**
  * This class provides facilities to save and load {@link Experiment}s.
  */
diff --git a/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/json/MeasurementDeserializer.java b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/json/MeasurementDeserializer.java
index 4592cf4..3fce0d1 100644
--- a/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/json/MeasurementDeserializer.java
+++ b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/json/MeasurementDeserializer.java
@@ -22,11 +22,10 @@ import com.google.gson.JsonDeserializationContext;
 import com.google.gson.JsonDeserializer;
 import com.google.gson.JsonElement;
 import com.google.gson.JsonParseException;
-import org.apache.wayang.commons.util.profiledb.model.Measurement;
-
 import java.lang.reflect.Type;
 import java.util.HashMap;
 import java.util.Map;
+import org.apache.wayang.commons.util.profiledb.model.Measurement;
 
 /**
  * Custom deserializer for {@link Measurement}s
diff --git a/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/json/MeasurementSerializer.java b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/json/MeasurementSerializer.java
index 7691a04..f6341ee 100644
--- a/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/json/MeasurementSerializer.java
+++ b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/json/MeasurementSerializer.java
@@ -22,9 +22,8 @@ import com.google.gson.JsonElement;
 import com.google.gson.JsonObject;
 import com.google.gson.JsonSerializationContext;
 import com.google.gson.JsonSerializer;
-import org.apache.wayang.commons.util.profiledb.model.Measurement;
-
 import java.lang.reflect.Type;
+import org.apache.wayang.commons.util.profiledb.model.Measurement;
 
 /**
  * Custom serializer for {@link Measurement}s
diff --git a/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/model/measurement/TimeMeasurement.java b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/model/measurement/TimeMeasurement.java
index 821dbde..e7682be 100644
--- a/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/model/measurement/TimeMeasurement.java
+++ b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/model/measurement/TimeMeasurement.java
@@ -18,11 +18,10 @@
 
 package org.apache.wayang.commons.util.profiledb.model.measurement;
 
-import org.apache.wayang.commons.util.profiledb.model.Measurement;
-import org.apache.wayang.commons.util.profiledb.model.Type;
-
 import java.util.Collection;
 import java.util.LinkedList;
+import org.apache.wayang.commons.util.profiledb.model.Measurement;
+import org.apache.wayang.commons.util.profiledb.model.Type;
 
 /**
  * A {@link Measurement} that captures a certain amount of time in milliseconds. Instances can be nested within
diff --git a/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/storage/FileStorage.java b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/storage/FileStorage.java
index 663eefc..64e7705 100644
--- a/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/storage/FileStorage.java
+++ b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/storage/FileStorage.java
@@ -18,12 +18,14 @@
 
 package org.apache.wayang.commons.util.profiledb.storage;
 
-import org.apache.wayang.commons.util.profiledb.model.Experiment;
-
-import java.io.*;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
 import java.net.URI;
 import java.util.Arrays;
 import java.util.Collection;
+import org.apache.wayang.commons.util.profiledb.model.Experiment;
 
 public class FileStorage extends Storage {
 
diff --git a/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/storage/JDBCStorage.java b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/storage/JDBCStorage.java
index 3b57add..726112c 100644
--- a/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/storage/JDBCStorage.java
+++ b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/storage/JDBCStorage.java
@@ -18,8 +18,6 @@
 
 package org.apache.wayang.commons.util.profiledb.storage;
 
-import org.apache.wayang.commons.util.profiledb.model.Experiment;
-
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
@@ -27,6 +25,7 @@ import java.io.IOException;
 import java.net.URI;
 import java.util.Arrays;
 import java.util.Collection;
+import org.apache.wayang.commons.util.profiledb.model.Experiment;
 
 public class JDBCStorage extends Storage {
 
diff --git a/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/storage/Storage.java b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/storage/Storage.java
index 6102fb8..650dd12 100644
--- a/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/storage/Storage.java
+++ b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/storage/Storage.java
@@ -19,13 +19,21 @@
 package org.apache.wayang.commons.util.profiledb.storage;
 
 import com.google.gson.Gson;
-import org.apache.wayang.commons.util.profiledb.ProfileDB;
-import org.apache.wayang.commons.util.profiledb.model.Experiment;
-
-import java.io.*;
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.io.Reader;
+import java.io.UnsupportedEncodingException;
+import java.io.Writer;
 import java.net.URI;
 import java.util.Collection;
 import java.util.LinkedList;
+import org.apache.wayang.commons.util.profiledb.ProfileDB;
+import org.apache.wayang.commons.util.profiledb.model.Experiment;
 
 /**
  * Controls how conducted experiments will be persisted and loaded
diff --git a/wayang-commons/wayang-utils-profile-db/src/test/java/org/apache/wayang/commons/util/profiledb/ProfileDBTest.java b/wayang-commons/wayang-utils-profile-db/src/test/java/org/apache/wayang/commons/util/profiledb/ProfileDBTest.java
index 20948b4..e57d881 100644
--- a/wayang-commons/wayang-utils-profile-db/src/test/java/org/apache/wayang/commons/util/profiledb/ProfileDBTest.java
+++ b/wayang-commons/wayang-utils-profile-db/src/test/java/org/apache/wayang/commons/util/profiledb/ProfileDBTest.java
@@ -18,6 +18,17 @@
 
 package org.apache.wayang.commons.util.profiledb;
 
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
 import org.apache.wayang.commons.util.profiledb.measurement.TestMemoryMeasurement;
 import org.apache.wayang.commons.util.profiledb.measurement.TestTimeMeasurement;
 import org.apache.wayang.commons.util.profiledb.model.Experiment;
@@ -27,13 +38,6 @@ import org.apache.wayang.commons.util.profiledb.storage.FileStorage;
 import org.junit.Assert;
 import org.junit.Test;
 
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.util.*;
-
 public class ProfileDBTest {
 
     @Test
diff --git a/wayang-commons/wayang-utils-profile-db/src/test/java/org/apache/wayang/commons/util/profiledb/measurement/TestMemoryMeasurement.java b/wayang-commons/wayang-utils-profile-db/src/test/java/org/apache/wayang/commons/util/profiledb/measurement/TestMemoryMeasurement.java
index be85515..a50abb6 100644
--- a/wayang-commons/wayang-utils-profile-db/src/test/java/org/apache/wayang/commons/util/profiledb/measurement/TestMemoryMeasurement.java
+++ b/wayang-commons/wayang-utils-profile-db/src/test/java/org/apache/wayang/commons/util/profiledb/measurement/TestMemoryMeasurement.java
@@ -18,11 +18,10 @@
 
 package org.apache.wayang.commons.util.profiledb.measurement;
 
+import java.util.Objects;
 import org.apache.wayang.commons.util.profiledb.model.Measurement;
 import org.apache.wayang.commons.util.profiledb.model.Type;
 
-import java.util.Objects;
-
 /**
  * {@link Measurement} implementation for test purposes.
  */
diff --git a/wayang-commons/wayang-utils-profile-db/src/test/java/org/apache/wayang/commons/util/profiledb/measurement/TestTimeMeasurement.java b/wayang-commons/wayang-utils-profile-db/src/test/java/org/apache/wayang/commons/util/profiledb/measurement/TestTimeMeasurement.java
index addb644..eae47a5 100644
--- a/wayang-commons/wayang-utils-profile-db/src/test/java/org/apache/wayang/commons/util/profiledb/measurement/TestTimeMeasurement.java
+++ b/wayang-commons/wayang-utils-profile-db/src/test/java/org/apache/wayang/commons/util/profiledb/measurement/TestTimeMeasurement.java
@@ -18,12 +18,11 @@
 
 package org.apache.wayang.commons.util.profiledb.measurement;
 
-import org.apache.wayang.commons.util.profiledb.model.Measurement;
-import org.apache.wayang.commons.util.profiledb.model.Type;
-
 import java.util.Collection;
 import java.util.LinkedList;
 import java.util.Objects;
+import org.apache.wayang.commons.util.profiledb.model.Measurement;
+import org.apache.wayang.commons.util.profiledb.model.Type;
 
 /**
  * {@link Measurement} implementation for test purposes.
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/channels/ChannelConversions.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/channels/ChannelConversions.java
index 64013a8..29d0060 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/channels/ChannelConversions.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/channels/ChannelConversions.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.flink.channels;
 
+import java.util.Arrays;
+import java.util.Collection;
 import org.apache.wayang.basic.channels.FileChannel;
 import org.apache.wayang.basic.data.Tuple2;
 import org.apache.wayang.core.optimizer.channels.ChannelConversion;
@@ -31,9 +33,6 @@ import org.apache.wayang.flink.operators.FlinkTsvFileSink;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 import org.apache.wayang.java.channels.CollectionChannel;
 
-import java.util.Arrays;
-import java.util.Collection;
-
 /**
  * {@link ChannelConversion}s used by the {@link FlinkPlatform}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/channels/DataSetChannel.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/channels/DataSetChannel.java
index 5a45b82..e69bb77 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/channels/DataSetChannel.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/channels/DataSetChannel.java
@@ -18,6 +18,7 @@
 
 package org.apache.wayang.flink.channels;
 
+import java.util.OptionalLong;
 import org.apache.flink.api.java.DataSet;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.plan.executionplan.Channel;
@@ -28,8 +29,6 @@ import org.apache.wayang.core.platform.ChannelInstance;
 import org.apache.wayang.core.platform.Executor;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 
-import java.util.OptionalLong;
-
 /**
  * Describes the situation where one {@link DataSet} is operated on, producing a further {@link DataSet}.
  * <p><i>NB: We might be more specific: Distinguish between cached/uncached and pipelined/aggregated.</i></p>
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/FunctionCompiler.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/FunctionCompiler.java
index 2eb5aaf..378ff6c 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/FunctionCompiler.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/FunctionCompiler.java
@@ -18,6 +18,9 @@
 
 package org.apache.wayang.flink.compiler;
 
+import java.util.Collection;
+import java.util.function.BiFunction;
+import java.util.function.Function;
 import org.apache.flink.api.common.functions.CoGroupFunction;
 import org.apache.flink.api.common.functions.FilterFunction;
 import org.apache.flink.api.common.functions.FlatMapFunction;
@@ -41,10 +44,6 @@ import org.apache.wayang.core.function.TransformationDescriptor;
 import org.apache.wayang.flink.compiler.criterion.WayangConvergenceCriterion;
 import org.apache.wayang.flink.execution.FlinkExecutionContext;
 
-import java.util.Collection;
-import java.util.function.BiFunction;
-import java.util.function.Function;
-
 /**
  * A compiler translates Wayang functions into executable Flink functions.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/KeySelectorDistinct.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/KeySelectorDistinct.java
index 732c745..f26dfc4 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/KeySelectorDistinct.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/KeySelectorDistinct.java
@@ -18,12 +18,11 @@
 
 package org.apache.wayang.flink.compiler;
 
-import org.apache.flink.api.java.functions.KeySelector;
-
 import java.io.ByteArrayOutputStream;
 import java.io.ObjectOutputStream;
 import java.io.Serializable;
 import java.util.Base64;
+import org.apache.flink.api.java.functions.KeySelector;
 
 /**
  * Wrapper for {@Link KeySelector}
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/KeySelectorFunction.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/KeySelectorFunction.java
index 06098a3..06acfed 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/KeySelectorFunction.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/KeySelectorFunction.java
@@ -18,14 +18,13 @@
 
 package org.apache.wayang.flink.compiler;
 
+import java.io.Serializable;
+import java.util.function.Function;
 import org.apache.flink.api.common.typeinfo.TypeInformation;
 import org.apache.flink.api.java.functions.KeySelector;
 import org.apache.flink.api.java.typeutils.ResultTypeQueryable;
 import org.apache.wayang.core.function.TransformationDescriptor;
 
-import java.io.Serializable;
-import java.util.function.Function;
-
 /**
  * Wrapper for {@Link KeySelector}
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/OutputFormatConsumer.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/OutputFormatConsumer.java
index 91e67f8..8007de8 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/OutputFormatConsumer.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/OutputFormatConsumer.java
@@ -18,13 +18,12 @@
 
 package org.apache.wayang.flink.compiler;
 
+import java.io.IOException;
+import java.io.Serializable;
 import org.apache.flink.api.common.io.OutputFormat;
 import org.apache.flink.configuration.Configuration;
 import org.apache.wayang.core.function.ConsumerDescriptor;
 
-import java.io.IOException;
-import java.io.Serializable;
-
 /**
  * Wrapper for {@Link OutputFormat}
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/WayangFileOutputFormat.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/WayangFileOutputFormat.java
index e2d8eb5..55713b4 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/WayangFileOutputFormat.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/WayangFileOutputFormat.java
@@ -18,6 +18,13 @@
 
 package org.apache.wayang.flink.compiler;
 
+import java.io.ByteArrayOutputStream;
+import java.io.FileNotFoundException;
+import java.io.FilterOutputStream;
+import java.io.IOException;
+import java.io.ObjectOutputStream;
+import java.io.OutputStream;
+import java.net.URI;
 import org.apache.flink.api.common.io.BlockInfo;
 import org.apache.flink.api.common.io.CleanupWhenUnsuccessful;
 import org.apache.flink.api.common.io.FileOutputFormat;
@@ -32,17 +39,9 @@ import org.apache.flink.core.memory.DataOutputViewStreamWrapper;
 import org.apache.hadoop.io.BytesWritable;
 import org.apache.hadoop.io.NullWritable;
 import org.apache.hadoop.io.SequenceFile;
-import org.apache.wayang.core.api.exception.WayangException;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
-
-import java.io.ByteArrayOutputStream;
-import java.io.FileNotFoundException;
-import java.io.FilterOutputStream;
-import java.io.IOException;
-import java.io.ObjectOutputStream;
-import java.io.OutputStream;
-import java.net.URI;
+import org.apache.wayang.core.api.exception.WayangException;
 
 /**
  * Wrapper for {@link FileOutputFormat}
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/criterion/WayangAggregator.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/criterion/WayangAggregator.java
index add4daf..080d53b 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/criterion/WayangAggregator.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/criterion/WayangAggregator.java
@@ -18,11 +18,10 @@
 
 package org.apache.wayang.flink.compiler.criterion;
 
-import org.apache.flink.api.common.aggregators.Aggregator;
-import org.apache.flink.types.ListValue;
-
 import java.util.ArrayList;
 import java.util.List;
+import org.apache.flink.api.common.aggregators.Aggregator;
+import org.apache.flink.types.ListValue;
 
 /**
  * Class create a {@Link Aggregator} that generate aggregatorWrapper
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/criterion/WayangConvergenceCriterion.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/criterion/WayangConvergenceCriterion.java
index 17c7e2e..14a4c16 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/criterion/WayangConvergenceCriterion.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/criterion/WayangConvergenceCriterion.java
@@ -19,12 +19,11 @@
 package org.apache.wayang.flink.compiler.criterion;
 
 
-import org.apache.flink.api.common.aggregators.ConvergenceCriterion;
-import org.apache.wayang.core.function.FunctionDescriptor;
-
 import java.io.Serializable;
 import java.util.Collection;
 import java.util.stream.Collectors;
+import org.apache.flink.api.common.aggregators.ConvergenceCriterion;
+import org.apache.wayang.core.function.FunctionDescriptor;
 
 /**
  * Class create a {@Link ConvergenceCriterion} that generate aggregatorWrapper
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/criterion/WayangListValue.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/criterion/WayangListValue.java
index 2333e3b..5fb0c92 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/criterion/WayangListValue.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/criterion/WayangListValue.java
@@ -18,9 +18,8 @@
 
 package org.apache.wayang.flink.compiler.criterion;
 
-import org.apache.flink.types.ListValue;
-
 import java.util.Collection;
+import org.apache.flink.types.ListValue;
 
 /**
  * Is a Wrapper for used in the criterion of the Loops
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/criterion/WayangValue.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/criterion/WayangValue.java
index 2fc0d6b..3e85e17 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/criterion/WayangValue.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/compiler/criterion/WayangValue.java
@@ -19,10 +19,6 @@
 package org.apache.wayang.flink.compiler.criterion;
 
 
-import org.apache.flink.core.memory.DataInputView;
-import org.apache.flink.core.memory.DataOutputView;
-import org.apache.flink.types.Value;
-
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
@@ -30,6 +26,9 @@ import java.io.ObjectInput;
 import java.io.ObjectInputStream;
 import java.io.ObjectOutput;
 import java.io.ObjectOutputStream;
+import org.apache.flink.core.memory.DataInputView;
+import org.apache.flink.core.memory.DataOutputView;
+import org.apache.flink.types.Value;
 /**
  * Implementation of {@link Value} of flink for use in Wayang
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/execution/FlinkExecutionContext.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/execution/FlinkExecutionContext.java
index a14b38d..2521cd2 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/execution/FlinkExecutionContext.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/execution/FlinkExecutionContext.java
@@ -18,15 +18,14 @@
 
 package org.apache.wayang.flink.execution;
 
+import java.io.Serializable;
+import java.util.Collection;
 import org.apache.flink.api.common.functions.RichFunction;
 import org.apache.wayang.core.function.ExecutionContext;
 import org.apache.wayang.core.platform.ChannelInstance;
 import org.apache.wayang.flink.operators.FlinkExecutionOperator;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 
-import java.io.Serializable;
-import java.util.Collection;
-
 /**
  * {@link ExecutionContext} implementation for the {@link FlinkPlatform}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/execution/FlinkExecutor.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/execution/FlinkExecutor.java
index 61eef4a..f95c9a8 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/execution/FlinkExecutor.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/execution/FlinkExecutor.java
@@ -18,6 +18,9 @@
 
 package org.apache.wayang.flink.execution;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
 import org.apache.flink.api.java.ExecutionEnvironment;
 import org.apache.wayang.core.api.Job;
 import org.apache.wayang.core.api.exception.WayangException;
@@ -36,10 +39,6 @@ import org.apache.wayang.flink.compiler.FunctionCompiler;
 import org.apache.wayang.flink.operators.FlinkExecutionOperator;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-
 /**
  * {@link Executor} implementation for the {@link FlinkPlatform}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/CartesianMapping.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/CartesianMapping.java
index 08f4927..27c5684 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/CartesianMapping.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/CartesianMapping.java
@@ -19,6 +19,8 @@
 package org.apache.wayang.flink.mapping;
 
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.CartesianOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -29,9 +31,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.flink.operators.FlinkCartesianOperator;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link CartesianOperator} to {@link FlinkCartesianOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/CoGroupMapping.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/CoGroupMapping.java
index b2e79a2..7f48397 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/CoGroupMapping.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/CoGroupMapping.java
@@ -19,6 +19,8 @@
 package org.apache.wayang.flink.mapping;
 
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.CoGroupOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -29,9 +31,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.flink.operators.FlinkCoGroupOperator;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link CoGroupOperator} to {@link FlinkCoGroupOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/CollectionSourceMapping.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/CollectionSourceMapping.java
index 289207f..b8aa313 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/CollectionSourceMapping.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/CollectionSourceMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.flink.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.CollectionSource;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.flink.operators.FlinkCollectionSource;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link CollectionSource} to {@link FlinkCollectionSource}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/CountMapping.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/CountMapping.java
index 95e9975..fa5921b 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/CountMapping.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/CountMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.flink.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.CountOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.flink.operators.FlinkCountOperator;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link CountOperator} to {@link FlinkCountOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/DistinctMapping.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/DistinctMapping.java
index adf2481..ec53f68 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/DistinctMapping.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/DistinctMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.flink.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.DistinctOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.flink.operators.FlinkDistinctOperator;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link DistinctOperator} to {@link FlinkDistinctOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/DoWhileMapping.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/DoWhileMapping.java
index d4fc663..f89b66c 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/DoWhileMapping.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/DoWhileMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.flink.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.DoWhileOperator;
 import org.apache.wayang.core.function.PredicateDescriptor;
 import org.apache.wayang.core.mapping.Mapping;
@@ -29,9 +31,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.flink.operators.FlinkDoWhileOperator;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link DoWhileOperator} to {@link FlinkDoWhileOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/FilterMapping.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/FilterMapping.java
index 8afea3b..fc1f811 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/FilterMapping.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/FilterMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.flink.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.FilterOperator;
 import org.apache.wayang.core.function.PredicateDescriptor;
 import org.apache.wayang.core.mapping.Mapping;
@@ -29,9 +31,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.flink.operators.FlinkFilterOperator;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 
 /**
  * Mapping from {@link FilterOperator} to {@link FlinkFilterOperator}.
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/FlatMapMapping.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/FlatMapMapping.java
index 2a898ed..8a7d61a 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/FlatMapMapping.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/FlatMapMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.flink.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.FlatMapOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.flink.operators.FlinkFlatMapOperator;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link FlatMapOperator} to {@link FlinkFlatMapOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/GlobalMaterializedGroupMapping.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/GlobalMaterializedGroupMapping.java
index 870e1aa..b05fa61 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/GlobalMaterializedGroupMapping.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/GlobalMaterializedGroupMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.flink.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.GlobalMaterializedGroupOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.flink.operators.FlinkGlobalMaterializedGroupOperator;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link GlobalMaterializedGroupOperator} to {@link FlinkGlobalMaterializedGroupOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/GlobalReduceMapping.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/GlobalReduceMapping.java
index 7ced46d..aaf3a2b 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/GlobalReduceMapping.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/GlobalReduceMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.flink.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.GlobalReduceOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.flink.operators.FlinkGlobalReduceOperator;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link GlobalReduceOperator} to {@link FlinkGlobalReduceOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/GroupByMapping.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/GroupByMapping.java
index 9c9faa0..51ce3d7 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/GroupByMapping.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/GroupByMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.flink.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.GroupByOperator;
 import org.apache.wayang.core.function.FunctionDescriptor;
 import org.apache.wayang.core.mapping.Mapping;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.mapping.SubplanPattern;
 import org.apache.wayang.flink.operators.FlinkGroupByOperator;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link GroupByOperator} to {@link FlinkGroupByOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/IntersectMapping.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/IntersectMapping.java
index 368a040..2676e55 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/IntersectMapping.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/IntersectMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.flink.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.IntersectOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.flink.operators.FlinkIntersectOperator;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link IntersectOperator} to {@link FlinkIntersectOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/JoinMapping.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/JoinMapping.java
index cc98c82..f1e2b52 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/JoinMapping.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/JoinMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.flink.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.JoinOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.flink.operators.FlinkJoinOperator;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link JoinOperator} to {@link FlinkJoinOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/LocalCallbackSinkMapping.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/LocalCallbackSinkMapping.java
index 586c309..19291cb 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/LocalCallbackSinkMapping.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/LocalCallbackSinkMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.flink.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.LocalCallbackSink;
 import org.apache.wayang.core.function.FunctionDescriptor;
 import org.apache.wayang.core.mapping.Mapping;
@@ -29,9 +31,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.flink.operators.FlinkLocalCallbackSink;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link LocalCallbackSink} to {@link FlinkLocalCallbackSink}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/LoopMapping.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/LoopMapping.java
index dab0374..1645a69 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/LoopMapping.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/LoopMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.flink.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.LoopOperator;
 import org.apache.wayang.core.function.PredicateDescriptor;
 import org.apache.wayang.core.mapping.Mapping;
@@ -29,9 +31,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.flink.operators.FlinkLoopOperator;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link LoopOperator} to {@link FlinkLoopOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/MapMapping.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/MapMapping.java
index dbbe5e2..c0b62df 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/MapMapping.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/MapMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.flink.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.MapOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.flink.operators.FlinkMapOperator;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link MapOperator} to {@link FlinkMapOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/MapPartitionsMapping.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/MapPartitionsMapping.java
index bc2a1e2..b7f0320 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/MapPartitionsMapping.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/MapPartitionsMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.flink.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.MapPartitionsOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.flink.operators.FlinkMapPartitionsOperator;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link MapPartitionsOperator} to {@link FlinkMapPartitionsOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/Mappings.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/Mappings.java
index 9a31979..685b9a1 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/Mappings.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/Mappings.java
@@ -18,10 +18,9 @@
 
 package org.apache.wayang.flink.mapping;
 
-import org.apache.wayang.core.mapping.Mapping;
-
 import java.util.Arrays;
 import java.util.Collection;
+import org.apache.wayang.core.mapping.Mapping;
 
 /**
  * Register for {@link Mapping}s for this platform.
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/MaterializedGroupByMapping.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/MaterializedGroupByMapping.java
index 8fa46c1..72f0049 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/MaterializedGroupByMapping.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/MaterializedGroupByMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.flink.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.MaterializedGroupByOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.flink.operators.FlinkMaterializedGroupByOperator;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link MaterializedGroupByOperator} to {@link FlinkMaterializedGroupByOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/ObjectFileSourceMapping.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/ObjectFileSourceMapping.java
index 85d67e9..f48eba3 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/ObjectFileSourceMapping.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/ObjectFileSourceMapping.java
@@ -21,7 +21,6 @@ package org.apache.wayang.flink.mapping;
 import java.util.Collection;
 import java.util.Collections;
 import org.apache.wayang.basic.operators.ObjectFileSource;
-import org.apache.wayang.basic.operators.TextFileSource;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
 import org.apache.wayang.core.mapping.PlanTransformation;
@@ -29,7 +28,6 @@ import org.apache.wayang.core.mapping.ReplacementSubplanFactory;
 import org.apache.wayang.core.mapping.SubplanPattern;
 import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.flink.operators.FlinkObjectFileSource;
-import org.apache.wayang.flink.operators.FlinkTextFileSource;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 
 /**
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/PageRankMapping.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/PageRankMapping.java
index b35a600..6f719aa 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/PageRankMapping.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/PageRankMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.flink.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.PageRankOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -27,9 +29,6 @@ import org.apache.wayang.core.mapping.SubplanPattern;
 import org.apache.wayang.flink.operators.FlinkPageRankOperator;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link PageRankOperator} to {@link FlinkPageRankOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/ReduceByMapping.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/ReduceByMapping.java
index 8d5d666..3898b09 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/ReduceByMapping.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/ReduceByMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.flink.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.ReduceByOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.flink.operators.FlinkReduceByOperator;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link ReduceByOperator} to {@link FlinkReduceByOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/RepeatMapping.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/RepeatMapping.java
index 5de4d4a..220e1bc 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/RepeatMapping.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/RepeatMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.flink.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.RepeatOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -29,9 +31,6 @@ import org.apache.wayang.flink.operators.FlinkRepeatExpandedOperator;
 import org.apache.wayang.flink.operators.FlinkRepeatOperator;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link RepeatOperator} to {@link FlinkRepeatOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/SampleMapping.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/SampleMapping.java
index f1d3feb..5318a81 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/SampleMapping.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/SampleMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.flink.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.SampleOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.flink.operators.FlinkSampleOperator;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link SampleOperator} to {@link FlinkSampleOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/SortMapping.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/SortMapping.java
index 412803f..144e591 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/SortMapping.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/SortMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.flink.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.SortOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.flink.operators.FlinkSortOperator;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link SortOperator} to {@link FlinkSortOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/TextFileSinkMapping.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/TextFileSinkMapping.java
index c5963fb..e3fc257 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/TextFileSinkMapping.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/TextFileSinkMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.flink.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.TextFileSink;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.flink.operators.FlinkTextFileSink;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 
 /**
  * Mapping from {@link TextFileSink} to {@link FlinkTextFileSink}.
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/TextFileSourceMapping.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/TextFileSourceMapping.java
index a57bb66..b6ef0a6 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/TextFileSourceMapping.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/TextFileSourceMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.flink.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.TextFileSource;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -27,9 +29,6 @@ import org.apache.wayang.core.mapping.SubplanPattern;
 import org.apache.wayang.flink.operators.FlinkTextFileSource;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link TextFileSource} to {@link FlinkTextFileSource}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/UnionAllMapping.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/UnionAllMapping.java
index ec2f0ed..ae54c8c 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/UnionAllMapping.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/UnionAllMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.flink.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.UnionAllOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.flink.operators.FlinkUnionAllOperator;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link UnionAllOperator} to {@link FlinkUnionAllOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/ZipWithIdMapping.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/ZipWithIdMapping.java
index c45de87..94c72a1 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/ZipWithIdMapping.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/mapping/ZipWithIdMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.flink.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.ZipWithIdOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.flink.operators.FlinkZipWithIdOperator;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link ZipWithIdOperator} to {@link FlinkZipWithIdOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkCartesianOperator.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkCartesianOperator.java
index 280586b..c2fc3af 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkCartesianOperator.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkCartesianOperator.java
@@ -18,6 +18,10 @@
 
 package org.apache.wayang.flink.operators;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
 import org.apache.flink.api.java.DataSet;
 import org.apache.wayang.basic.data.Tuple2;
 import org.apache.wayang.basic.operators.CartesianOperator;
@@ -32,11 +36,6 @@ import org.apache.wayang.core.util.Tuple;
 import org.apache.wayang.flink.channels.DataSetChannel;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
 /**
  * Flink implementation of the {@link CartesianOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkCoGroupOperator.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkCoGroupOperator.java
index d1230b7..5693be6 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkCoGroupOperator.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkCoGroupOperator.java
@@ -18,6 +18,11 @@
 
 package org.apache.wayang.flink.operators;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
 import org.apache.flink.api.common.functions.CoGroupFunction;
 import org.apache.flink.api.java.DataSet;
 import org.apache.flink.api.java.functions.KeySelector;
@@ -38,12 +43,6 @@ import org.apache.wayang.flink.channels.DataSetChannel;
 import org.apache.wayang.flink.compiler.FunctionCompiler;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
 /**
  * Flink implementation of the {@link CoGroupOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkCollectionSink.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkCollectionSink.java
index c88f656..54df5a9 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkCollectionSink.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkCollectionSink.java
@@ -18,6 +18,10 @@
 
 package org.apache.wayang.flink.operators;
 
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Optional;
 import org.apache.commons.lang3.Validate;
 import org.apache.flink.api.java.DataSet;
 import org.apache.wayang.core.api.Configuration;
@@ -35,11 +39,6 @@ import org.apache.wayang.flink.channels.DataSetChannel;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 import org.apache.wayang.java.channels.CollectionChannel;
 
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Optional;
-
 
 /**
  * Converts {@link DataSetChannel} into a {@link CollectionChannel}
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkCollectionSource.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkCollectionSource.java
index 577f67f..6e33ec8 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkCollectionSource.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkCollectionSource.java
@@ -18,6 +18,9 @@
 
 package org.apache.wayang.flink.operators;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
 import org.apache.flink.api.java.DataSet;
 import org.apache.wayang.basic.operators.CollectionSource;
 import org.apache.wayang.core.optimizer.OptimizationContext;
@@ -31,10 +34,6 @@ import org.apache.wayang.flink.channels.DataSetChannel;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 import org.apache.wayang.java.channels.CollectionChannel;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-
 /**
  * This is execution operator implements the {@link CollectionSource}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkCountOperator.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkCountOperator.java
index 570e97e..daf6278 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkCountOperator.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkCountOperator.java
@@ -18,6 +18,10 @@
 
 package org.apache.wayang.flink.operators;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
 import org.apache.flink.api.java.DataSet;
 import org.apache.wayang.basic.operators.CountOperator;
 import org.apache.wayang.core.api.exception.WayangException;
@@ -31,11 +35,6 @@ import org.apache.wayang.core.util.Tuple;
 import org.apache.wayang.flink.channels.DataSetChannel;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
 /**
  * Flink implementation of the {@link CountOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkDistinctOperator.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkDistinctOperator.java
index 72037be..be069fc 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkDistinctOperator.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkDistinctOperator.java
@@ -18,6 +18,10 @@
 
 package org.apache.wayang.flink.operators;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
 import org.apache.flink.api.java.DataSet;
 import org.apache.wayang.basic.operators.DistinctOperator;
 import org.apache.wayang.core.optimizer.OptimizationContext;
@@ -31,11 +35,6 @@ import org.apache.wayang.flink.channels.DataSetChannel;
 import org.apache.wayang.flink.compiler.KeySelectorDistinct;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
 
 /**
  * Flink implementation of the {@link DistinctOperator}.
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkDoWhileOperator.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkDoWhileOperator.java
index a558e1d..7164d29 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkDoWhileOperator.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkDoWhileOperator.java
@@ -18,6 +18,10 @@
 
 package org.apache.wayang.flink.operators;
 
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Optional;
 import org.apache.flink.api.common.aggregators.ConvergenceCriterion;
 import org.apache.flink.api.java.DataSet;
 import org.apache.flink.api.java.operators.IterativeDataSet;
@@ -40,11 +44,6 @@ import org.apache.wayang.flink.compiler.criterion.WayangAggregator;
 import org.apache.wayang.flink.compiler.criterion.WayangFilterCriterion;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Optional;
-
 /**
  * Flink implementation of the {@link DoWhileOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkExecutionOperator.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkExecutionOperator.java
index f8b5da4..9bb8755 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkExecutionOperator.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkExecutionOperator.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.flink.operators;
 
+import java.io.Serializable;
+import java.util.Collection;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.plan.wayangplan.ExecutionOperator;
 import org.apache.wayang.core.platform.ChannelInstance;
@@ -26,9 +28,6 @@ import org.apache.wayang.core.util.Tuple;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 
-import java.io.Serializable;
-import java.util.Collection;
-
 /**
  * Execution operator for the Flink platform.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkFilterOperator.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkFilterOperator.java
index 9954f7f..c364840 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkFilterOperator.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkFilterOperator.java
@@ -18,6 +18,11 @@
 
 package org.apache.wayang.flink.operators;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Optional;
 import org.apache.flink.api.common.functions.FilterFunction;
 import org.apache.flink.api.java.DataSet;
 import org.apache.wayang.basic.operators.FilterOperator;
@@ -35,12 +40,6 @@ import org.apache.wayang.core.util.Tuple;
 import org.apache.wayang.flink.channels.DataSetChannel;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Optional;
-
 /**
  * Flink implementation of the {@link FilterOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkFlatMapOperator.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkFlatMapOperator.java
index d2f8c41..406d9de 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkFlatMapOperator.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkFlatMapOperator.java
@@ -18,6 +18,11 @@
 
 package org.apache.wayang.flink.operators;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Optional;
 import org.apache.flink.api.common.functions.FlatMapFunction;
 import org.apache.flink.api.common.functions.RichFlatMapFunction;
 import org.apache.flink.api.java.DataSet;
@@ -38,12 +43,6 @@ import org.apache.wayang.flink.channels.DataSetChannel;
 import org.apache.wayang.flink.execution.FlinkExecutionContext;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Optional;
-
 /**
  * Flink implementation of the {@link FlatMapOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkGlobalMaterializedGroupOperator.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkGlobalMaterializedGroupOperator.java
index a2c78f7..cf4a881 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkGlobalMaterializedGroupOperator.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkGlobalMaterializedGroupOperator.java
@@ -18,6 +18,11 @@
 
 package org.apache.wayang.flink.operators;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
 import org.apache.flink.api.common.functions.MapPartitionFunction;
 import org.apache.flink.api.java.DataSet;
 import org.apache.wayang.basic.operators.GlobalMaterializedGroupOperator;
@@ -32,12 +37,6 @@ import org.apache.wayang.core.util.Tuple;
 import org.apache.wayang.flink.channels.DataSetChannel;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
 /**
  * Flink implementation of the {@link GlobalMaterializedGroupOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkGlobalReduceOperator.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkGlobalReduceOperator.java
index a5ccec3..20f5544 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkGlobalReduceOperator.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkGlobalReduceOperator.java
@@ -18,6 +18,11 @@
 
 package org.apache.wayang.flink.operators;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Optional;
 import org.apache.flink.api.common.functions.ReduceFunction;
 import org.apache.flink.api.java.DataSet;
 import org.apache.wayang.basic.operators.GlobalReduceOperator;
@@ -35,12 +40,6 @@ import org.apache.wayang.core.util.Tuple;
 import org.apache.wayang.flink.channels.DataSetChannel;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Optional;
-
 /**
  * Flink implementation of the {@link GlobalReduceOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkGroupByOperator.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkGroupByOperator.java
index b2f236f..6e86fee 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkGroupByOperator.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkGroupByOperator.java
@@ -18,6 +18,12 @@
 
 package org.apache.wayang.flink.operators;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Optional;
 import org.apache.flink.api.common.functions.GroupReduceFunction;
 import org.apache.flink.api.java.DataSet;
 import org.apache.flink.api.java.functions.KeySelector;
@@ -37,13 +43,6 @@ import org.apache.wayang.core.util.Tuple;
 import org.apache.wayang.flink.channels.DataSetChannel;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Optional;
-
 /**
  * Flink implementation of the {@link GroupByOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkIntersectOperator.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkIntersectOperator.java
index 2e4d518..3ab8b97 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkIntersectOperator.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkIntersectOperator.java
@@ -18,6 +18,9 @@
 
 package org.apache.wayang.flink.operators;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
 import org.apache.flink.api.common.functions.MapFunction;
 import org.apache.flink.api.java.DataSet;
 import org.apache.flink.api.java.functions.KeySelector;
@@ -34,10 +37,6 @@ import org.apache.wayang.core.util.Tuple;
 import org.apache.wayang.flink.channels.DataSetChannel;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-
 /**
  * Flink implementation of the {@link IntersectOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkJoinOperator.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkJoinOperator.java
index f60b578..3cdd652 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkJoinOperator.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkJoinOperator.java
@@ -18,6 +18,11 @@
 
 package org.apache.wayang.flink.operators;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Optional;
 import org.apache.flink.api.common.functions.JoinFunction;
 import org.apache.flink.api.java.DataSet;
 import org.apache.flink.api.java.functions.KeySelector;
@@ -38,12 +43,6 @@ import org.apache.wayang.flink.channels.DataSetChannel;
 import org.apache.wayang.flink.compiler.FunctionCompiler;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Optional;
-
 /**
  * Flink implementation of the {@link JoinOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkLocalCallbackSink.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkLocalCallbackSink.java
index c3a8e6e..ff8b657 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkLocalCallbackSink.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkLocalCallbackSink.java
@@ -18,6 +18,10 @@
 
 package org.apache.wayang.flink.operators;
 
+import java.io.Serializable;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
 import org.apache.flink.api.java.DataSet;
 import org.apache.flink.api.java.io.PrintingOutputFormat;
 import org.apache.wayang.basic.operators.LocalCallbackSink;
@@ -32,11 +36,6 @@ import org.apache.wayang.core.util.Tuple;
 import org.apache.wayang.flink.channels.DataSetChannel;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 
-import java.io.Serializable;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-
 /**
  * Implementation of the {@link LocalCallbackSink} operator for the Flink platform.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkLoopOperator.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkLoopOperator.java
index 826c187..82aa3f3 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkLoopOperator.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkLoopOperator.java
@@ -18,6 +18,9 @@
 
 package org.apache.wayang.flink.operators;
 
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
 import org.apache.flink.api.common.aggregators.ConvergenceCriterion;
 import org.apache.flink.api.java.DataSet;
 import org.apache.flink.api.java.operators.IterativeDataSet;
@@ -36,10 +39,6 @@ import org.apache.wayang.flink.compiler.criterion.WayangAggregator;
 import org.apache.wayang.flink.compiler.criterion.WayangFilterCriterion;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
 /**
  * Flink implementation of the {@link RepeatOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkMapOperator.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkMapOperator.java
index 57f7b96..be66622 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkMapOperator.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkMapOperator.java
@@ -18,6 +18,10 @@
 
 package org.apache.wayang.flink.operators;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+import java.util.Optional;
 import org.apache.flink.api.common.functions.MapFunction;
 import org.apache.flink.api.common.functions.RichMapFunction;
 import org.apache.flink.api.java.DataSet;
@@ -37,11 +41,6 @@ import org.apache.wayang.flink.channels.DataSetChannel;
 import org.apache.wayang.flink.execution.FlinkExecutionContext;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-import java.util.Optional;
-
 /**
  * Flink implementation of the {@link MapOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkMapPartitionsOperator.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkMapPartitionsOperator.java
index 215c473..e39fff5 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkMapPartitionsOperator.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkMapPartitionsOperator.java
@@ -18,6 +18,11 @@
 
 package org.apache.wayang.flink.operators;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Optional;
 import org.apache.flink.api.common.functions.MapPartitionFunction;
 import org.apache.flink.api.common.functions.RichMapPartitionFunction;
 import org.apache.flink.api.java.DataSet;
@@ -37,12 +42,6 @@ import org.apache.wayang.flink.channels.DataSetChannel;
 import org.apache.wayang.flink.execution.FlinkExecutionContext;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Optional;
-
 /**
  * Flink implementation of the {@link MapPartitionsOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkMaterializedGroupByOperator.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkMaterializedGroupByOperator.java
index 627259a..15545da 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkMaterializedGroupByOperator.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkMaterializedGroupByOperator.java
@@ -18,6 +18,11 @@
 
 package org.apache.wayang.flink.operators;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+import java.util.Optional;
 import org.apache.flink.api.common.functions.GroupReduceFunction;
 import org.apache.flink.api.java.DataSet;
 import org.apache.flink.api.java.functions.KeySelector;
@@ -36,12 +41,6 @@ import org.apache.wayang.core.util.Tuple;
 import org.apache.wayang.flink.channels.DataSetChannel;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-import java.util.Optional;
-
 /**
  * Flink implementation of the {@link MaterializedGroupByOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkObjectFileSink.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkObjectFileSink.java
index 6e29ed7..51a420e 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkObjectFileSink.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkObjectFileSink.java
@@ -18,6 +18,9 @@
 
 package org.apache.wayang.flink.operators;
 
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
 import org.apache.flink.api.java.operators.DataSink;
 import org.apache.flink.core.fs.FileSystem;
 import org.apache.wayang.basic.channels.FileChannel;
@@ -25,7 +28,6 @@ import org.apache.wayang.basic.operators.ObjectFileSink;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.plan.wayangplan.ExecutionOperator;
 import org.apache.wayang.core.plan.wayangplan.Operator;
-import org.apache.wayang.core.plan.wayangplan.UnarySink;
 import org.apache.wayang.core.platform.ChannelDescriptor;
 import org.apache.wayang.core.platform.ChannelInstance;
 import org.apache.wayang.core.platform.lineage.ExecutionLineageNode;
@@ -36,10 +38,6 @@ import org.apache.wayang.flink.compiler.WayangFileOutputFormat;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
 /**
  * {@link Operator} for the {@link FlinkPlatform} that creates a sequence file.
  *
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkObjectFileSource.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkObjectFileSource.java
index 9c304a4..d9fba1e 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkObjectFileSource.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkObjectFileSource.java
@@ -18,6 +18,11 @@
 
 package org.apache.wayang.flink.operators;
 
+import java.io.ByteArrayInputStream;
+import java.io.ObjectInputStream;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
 import org.apache.flink.api.common.functions.FlatMapFunction;
 import org.apache.flink.api.java.DataSet;
 import org.apache.flink.api.java.hadoop.mapred.HadoopInputFormat;
@@ -31,7 +36,6 @@ import org.apache.wayang.basic.operators.ObjectFileSource;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.plan.wayangplan.ExecutionOperator;
 import org.apache.wayang.core.plan.wayangplan.Operator;
-import org.apache.wayang.core.plan.wayangplan.UnarySource;
 import org.apache.wayang.core.platform.ChannelDescriptor;
 import org.apache.wayang.core.platform.ChannelInstance;
 import org.apache.wayang.core.platform.lineage.ExecutionLineageNode;
@@ -41,12 +45,6 @@ import org.apache.wayang.flink.channels.DataSetChannel;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 
-import java.io.ByteArrayInputStream;
-import java.io.ObjectInputStream;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
 
 /**
  * {@link Operator} for the {@link FlinkPlatform} that creates a sequence file.
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkPageRankOperator.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkPageRankOperator.java
index 6a62337..b5095f5 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkPageRankOperator.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkPageRankOperator.java
@@ -18,6 +18,13 @@
 
 package org.apache.wayang.flink.operators;
 
+import static org.apache.flink.api.java.aggregation.Aggregations.SUM;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
 import org.apache.flink.api.common.functions.FilterFunction;
 import org.apache.flink.api.common.functions.FlatMapFunction;
 import org.apache.flink.api.common.functions.GroupReduceFunction;
@@ -36,14 +43,6 @@ import org.apache.wayang.core.util.Tuple;
 import org.apache.wayang.flink.channels.DataSetChannel;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
-import static org.apache.flink.api.java.aggregation.Aggregations.SUM;
-
 /**
  * Flink implementation of the {@link PageRankOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkReduceByOperator.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkReduceByOperator.java
index d0d7e03..0f2a78e 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkReduceByOperator.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkReduceByOperator.java
@@ -18,6 +18,11 @@
 
 package org.apache.wayang.flink.operators;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Optional;
 import org.apache.flink.api.common.functions.ReduceFunction;
 import org.apache.flink.api.java.DataSet;
 import org.apache.flink.api.java.functions.KeySelector;
@@ -38,12 +43,6 @@ import org.apache.wayang.flink.channels.DataSetChannel;
 import org.apache.wayang.flink.compiler.FunctionCompiler;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Optional;
-
 
 /**
  * Flink implementation of the {@link ReduceByOperator}.
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkRepeatExpandedOperator.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkRepeatExpandedOperator.java
index b60abe2..0d551ac 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkRepeatExpandedOperator.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkRepeatExpandedOperator.java
@@ -18,6 +18,9 @@
 
 package org.apache.wayang.flink.operators;
 
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
 import org.apache.flink.api.java.DataSet;
 import org.apache.flink.api.java.operators.IterativeDataSet;
 import org.apache.wayang.basic.operators.RepeatOperator;
@@ -32,10 +35,6 @@ import org.apache.wayang.core.util.Tuple;
 import org.apache.wayang.flink.channels.DataSetChannel;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
 /**
  * Flink implementation of the {@link RepeatOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkRepeatOperator.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkRepeatOperator.java
index 3b5507c..8b6bb39 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkRepeatOperator.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkRepeatOperator.java
@@ -18,6 +18,9 @@
 
 package org.apache.wayang.flink.operators;
 
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
 import org.apache.flink.api.java.DataSet;
 import org.apache.flink.api.java.operators.IterativeDataSet;
 import org.apache.wayang.basic.operators.RepeatOperator;
@@ -31,10 +34,6 @@ import org.apache.wayang.core.util.Tuple;
 import org.apache.wayang.flink.channels.DataSetChannel;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
 /**
  * Flink implementation of the {@link RepeatOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkSampleOperator.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkSampleOperator.java
index 86b0613..61c9582 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkSampleOperator.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkSampleOperator.java
@@ -18,6 +18,13 @@
 
 package org.apache.wayang.flink.operators;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Random;
+import java.util.function.IntUnaryOperator;
+import java.util.function.LongUnaryOperator;
 import org.apache.flink.api.java.DataSet;
 import org.apache.flink.api.java.utils.DataSetUtils;
 import org.apache.wayang.basic.operators.SampleOperator;
@@ -32,14 +39,6 @@ import org.apache.wayang.core.util.Tuple;
 import org.apache.wayang.flink.channels.DataSetChannel;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Random;
-import java.util.function.IntUnaryOperator;
-import java.util.function.LongUnaryOperator;
-
 /**
  * Flink implementation of the {@link SampleOperator}. Sampling with replacement (i.e., the sample may contain duplicates)
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkSortOperator.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkSortOperator.java
index 97e5d19..034426a 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkSortOperator.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkSortOperator.java
@@ -18,6 +18,10 @@
 
 package org.apache.wayang.flink.operators;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
 import org.apache.flink.api.common.operators.Order;
 import org.apache.flink.api.java.DataSet;
 import org.apache.flink.api.java.functions.KeySelector;
@@ -34,11 +38,6 @@ import org.apache.wayang.flink.channels.DataSetChannel;
 import org.apache.wayang.flink.compiler.FunctionCompiler;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
 /**
  * Flink implementation of the {@link SortOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkTextFileSink.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkTextFileSink.java
index 9682344..cfeb271 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkTextFileSink.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkTextFileSink.java
@@ -18,6 +18,10 @@
 
 package org.apache.wayang.flink.operators;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+import java.util.Optional;
 import org.apache.flink.api.java.DataSet;
 import org.apache.flink.api.java.io.TextOutputFormat;
 import org.apache.wayang.basic.operators.TextFileSink;
@@ -34,11 +38,6 @@ import org.apache.wayang.core.util.Tuple;
 import org.apache.wayang.flink.channels.DataSetChannel;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-import java.util.Optional;
-
 /**
  * Implementation of the {@link TextFileSink} operator for the Flink platform.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkTextFileSource.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkTextFileSource.java
index 2485acf..46c4eca 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkTextFileSource.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkTextFileSource.java
@@ -18,6 +18,9 @@
 
 package org.apache.wayang.flink.operators;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
 import org.apache.flink.api.java.DataSet;
 import org.apache.wayang.basic.operators.TextFileSource;
 import org.apache.wayang.core.optimizer.OptimizationContext;
@@ -30,10 +33,6 @@ import org.apache.wayang.core.util.Tuple;
 import org.apache.wayang.flink.channels.DataSetChannel;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-
 /**
  * Provides a {@link Collection} to a Flink job.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkTsvFileSink.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkTsvFileSink.java
index 4bc2ba9..3e6721c 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkTsvFileSink.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkTsvFileSink.java
@@ -18,6 +18,10 @@
 
 package org.apache.wayang.flink.operators;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
 import org.apache.flink.api.common.functions.MapFunction;
 import org.apache.flink.api.java.DataSet;
 import org.apache.wayang.basic.channels.FileChannel;
@@ -33,11 +37,6 @@ import org.apache.wayang.core.util.Tuple;
 import org.apache.wayang.flink.channels.DataSetChannel;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
 /**
  * Created by bertty on 31-10-17.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkUnionAllOperator.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkUnionAllOperator.java
index 93452ff..f0d1f45 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkUnionAllOperator.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkUnionAllOperator.java
@@ -18,6 +18,9 @@
 
 package org.apache.wayang.flink.operators;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
 import org.apache.flink.api.java.DataSet;
 import org.apache.wayang.basic.operators.UnionAllOperator;
 import org.apache.wayang.core.optimizer.OptimizationContext;
@@ -30,10 +33,6 @@ import org.apache.wayang.core.util.Tuple;
 import org.apache.wayang.flink.channels.DataSetChannel;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-
 /**
  * Flink implementation of the {@link UnionAllOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkZipWithIdOperator.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkZipWithIdOperator.java
index 027821a..7d4ad8a 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkZipWithIdOperator.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/operators/FlinkZipWithIdOperator.java
@@ -18,6 +18,10 @@
 
 package org.apache.wayang.flink.operators;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
 import org.apache.flink.api.java.DataSet;
 import org.apache.flink.api.java.utils.DataSetUtils;
 import org.apache.wayang.basic.data.Tuple2;
@@ -34,11 +38,6 @@ import org.apache.wayang.core.util.Tuple;
 import org.apache.wayang.flink.channels.DataSetChannel;
 import org.apache.wayang.flink.execution.FlinkExecutor;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
 /**
  * Flink implementation of the {@link MapOperator}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/platform/FlinkPlatform.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/platform/FlinkPlatform.java
index 445e6d0..325afdf 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/platform/FlinkPlatform.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/platform/FlinkPlatform.java
@@ -18,8 +18,14 @@
 
 package org.apache.wayang.flink.platform;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Set;
 import org.apache.flink.api.java.CollectionEnvironment;
 import org.apache.flink.api.java.ExecutionEnvironment;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.wayang.basic.plugin.WayangBasic;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.api.Job;
@@ -32,13 +38,6 @@ import org.apache.wayang.core.platform.Platform;
 import org.apache.wayang.core.util.ReflectionUtils;
 import org.apache.wayang.flink.execution.FlinkContextReference;
 import org.apache.wayang.flink.execution.FlinkExecutor;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Set;
 
 /**
  * {@link Platform} for Apache Flink.
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/plugin/FlinkBasicPlugin.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/plugin/FlinkBasicPlugin.java
index bc7df27..853e229 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/plugin/FlinkBasicPlugin.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/plugin/FlinkBasicPlugin.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.flink.plugin;
 
+import java.util.Arrays;
+import java.util.Collection;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.optimizer.channels.ChannelConversion;
@@ -29,9 +31,6 @@ import org.apache.wayang.flink.mapping.Mappings;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 import org.apache.wayang.java.platform.JavaPlatform;
 
-import java.util.Arrays;
-import java.util.Collection;
-
 /**
  * This {@link Plugin} enables to use the basic Wayang {@link Operator}s on the {@link FlinkPlatform}.
  */
diff --git a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/plugin/FlinkConversionPlugin.java b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/plugin/FlinkConversionPlugin.java
index eb4a8c8..b7c0361 100644
--- a/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/plugin/FlinkConversionPlugin.java
+++ b/wayang-platforms/wayang-flink/src/main/java/org/apache/wayang/flink/plugin/FlinkConversionPlugin.java
@@ -18,6 +18,9 @@
 
 package org.apache.wayang.flink.plugin;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.optimizer.channels.ChannelConversion;
@@ -27,10 +30,6 @@ import org.apache.wayang.flink.channels.ChannelConversions;
 import org.apache.wayang.flink.platform.FlinkPlatform;
 import org.apache.wayang.java.platform.JavaPlatform;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * This {@link Plugin} provides {@link ChannelConversion}s from the  {@link FlinkPlatform}.
  */
diff --git a/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/Algorithm/PageRankAlgorithm.java b/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/Algorithm/PageRankAlgorithm.java
index 2e0f688..91710e4 100644
--- a/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/Algorithm/PageRankAlgorithm.java
+++ b/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/Algorithm/PageRankAlgorithm.java
@@ -19,6 +19,8 @@
 package org.apache.wayang.giraph.Algorithm;
 
 import com.google.common.collect.Lists;
+import java.io.IOException;
+import java.util.List;
 import org.apache.giraph.aggregators.DoubleMaxAggregator;
 import org.apache.giraph.aggregators.DoubleMinAggregator;
 import org.apache.giraph.aggregators.LongSumAggregator;
@@ -41,9 +43,6 @@ import org.apache.hadoop.mapreduce.TaskAttemptContext;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 
-import java.io.IOException;
-import java.util.List;
-
 /**
  * Basic PageRank implementation.
  */
diff --git a/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/Algorithm/PageRankParameters.java b/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/Algorithm/PageRankParameters.java
index 20f7761..86ef4e2 100644
--- a/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/Algorithm/PageRankParameters.java
+++ b/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/Algorithm/PageRankParameters.java
@@ -18,12 +18,9 @@
 
 package org.apache.wayang.giraph.Algorithm;
 
-import org.apache.wayang.core.api.exception.WayangException;
-
 import java.util.LinkedList;
-import java.util.List;
 import java.util.Queue;
-import java.util.Stack;
+import org.apache.wayang.core.api.exception.WayangException;
 
 /**
  * Parameters for Basic PageRank implementation.
diff --git a/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/channels/ChannelConversions.java b/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/channels/ChannelConversions.java
index cd1eb61..90bb99d 100644
--- a/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/channels/ChannelConversions.java
+++ b/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/channels/ChannelConversions.java
@@ -18,10 +18,10 @@
 
 package org.apache.wayang.giraph.channels;
 
-import org.apache.wayang.core.optimizer.channels.ChannelConversion;
-import org.apache.wayang.giraph.platform.GiraphPlatform;
 import java.util.Collection;
 import java.util.Collections;
+import org.apache.wayang.core.optimizer.channels.ChannelConversion;
+import org.apache.wayang.giraph.platform.GiraphPlatform;
 
 /**
  * {@link ChannelConversion}s for the {@link GiraphPlatform}.
diff --git a/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/execution/GiraphExecutor.java b/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/execution/GiraphExecutor.java
index 86e7aa1..cc615df 100644
--- a/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/execution/GiraphExecutor.java
+++ b/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/execution/GiraphExecutor.java
@@ -18,20 +18,28 @@
 
 package org.apache.wayang.giraph.execution;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.Queue;
+import java.util.Set;
 import org.apache.giraph.conf.GiraphConfiguration;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.api.Job;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.plan.executionplan.ExecutionStage;
 import org.apache.wayang.core.plan.executionplan.ExecutionTask;
-import org.apache.wayang.core.platform.*;
+import org.apache.wayang.core.platform.ChannelInstance;
+import org.apache.wayang.core.platform.ExecutionState;
+import org.apache.wayang.core.platform.Executor;
+import org.apache.wayang.core.platform.ExecutorTemplate;
+import org.apache.wayang.core.platform.PartialExecution;
 import org.apache.wayang.core.platform.lineage.ExecutionLineageNode;
 import org.apache.wayang.core.util.Tuple;
 import org.apache.wayang.giraph.operators.GiraphExecutionOperator;
 import org.apache.wayang.giraph.platform.GiraphPlatform;
 
-import java.util.*;
-
 /**
  * {@link Executor} for the {@link GiraphPlatform}.
  */
diff --git a/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/mappings/Mappings.java b/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/mappings/Mappings.java
index 7f98c14..6db2dae 100644
--- a/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/mappings/Mappings.java
+++ b/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/mappings/Mappings.java
@@ -18,10 +18,9 @@
 
 package org.apache.wayang.giraph.mappings;
 
-import org.apache.wayang.core.mapping.Mapping;
-
 import java.util.Collection;
 import java.util.Collections;
+import org.apache.wayang.core.mapping.Mapping;
 
 /**
  * Register for {@link Mapping}s for this platform.
diff --git a/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/mappings/PageRankMapping.java b/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/mappings/PageRankMapping.java
index cc21b99..a69a65e 100644
--- a/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/mappings/PageRankMapping.java
+++ b/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/mappings/PageRankMapping.java
@@ -18,16 +18,17 @@
 
 package org.apache.wayang.giraph.mappings;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.PageRankOperator;
-import org.apache.wayang.core.mapping.*;
-import org.apache.wayang.core.plan.wayangplan.Operator;
-import org.apache.wayang.core.plan.wayangplan.Subplan;
+import org.apache.wayang.core.mapping.Mapping;
+import org.apache.wayang.core.mapping.OperatorPattern;
+import org.apache.wayang.core.mapping.PlanTransformation;
+import org.apache.wayang.core.mapping.ReplacementSubplanFactory;
+import org.apache.wayang.core.mapping.SubplanPattern;
 import org.apache.wayang.giraph.operators.GiraphPageRankOperator;
 import org.apache.wayang.giraph.platform.GiraphPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Maps {@link PageRankOperator}s to {@link GiraphPageRankOperator}s.
  */
diff --git a/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/operators/GiraphExecutionOperator.java b/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/operators/GiraphExecutionOperator.java
index 21f9b86..988823e 100644
--- a/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/operators/GiraphExecutionOperator.java
+++ b/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/operators/GiraphExecutionOperator.java
@@ -18,6 +18,7 @@
 
 package org.apache.wayang.giraph.operators;
 
+import java.util.Collection;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.plan.wayangplan.ExecutionOperator;
 import org.apache.wayang.core.platform.ChannelInstance;
@@ -25,8 +26,6 @@ import org.apache.wayang.core.platform.lineage.ExecutionLineageNode;
 import org.apache.wayang.core.util.Tuple;
 import org.apache.wayang.giraph.execution.GiraphExecutor;
 
-import java.util.Collection;
-
 /**
  * {@link ExecutionOperator} that can be run by the {@link GiraphExecutor}.
  */
diff --git a/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/operators/GiraphPageRankOperator.java b/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/operators/GiraphPageRankOperator.java
index 83e68d3..ac1d5cd 100644
--- a/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/operators/GiraphPageRankOperator.java
+++ b/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/operators/GiraphPageRankOperator.java
@@ -18,8 +18,17 @@
 
 package org.apache.wayang.giraph.operators;
 
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Stream;
 import org.apache.giraph.conf.GiraphConfiguration;
 import org.apache.giraph.job.GiraphJob;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.wayang.basic.channels.FileChannel;
 import org.apache.wayang.basic.data.Tuple2;
 import org.apache.wayang.basic.operators.PageRankOperator;
@@ -40,13 +49,6 @@ import org.apache.wayang.giraph.Algorithm.PageRankParameters;
 import org.apache.wayang.giraph.execution.GiraphExecutor;
 import org.apache.wayang.giraph.platform.GiraphPlatform;
 import org.apache.wayang.java.channels.StreamChannel;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
-import java.io.*;
-import java.net.URISyntaxException;
-import java.util.*;
-import java.util.stream.Stream;
 
 /**
  * PageRank {@link Operator} implementation for the {@link GiraphPlatform}.
diff --git a/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/platform/GiraphPlatform.java b/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/platform/GiraphPlatform.java
index d267e25..51f66bc 100644
--- a/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/platform/GiraphPlatform.java
+++ b/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/platform/GiraphPlatform.java
@@ -18,7 +18,6 @@
 
 package org.apache.wayang.giraph.platform;
 
-import org.apache.giraph.conf.GiraphConfiguration;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.costs.LoadProfileToTimeConverter;
 import org.apache.wayang.core.optimizer.costs.LoadToTimeConverter;
diff --git a/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/plugin/GiraphPlugin.java b/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/plugin/GiraphPlugin.java
index a1a075d..0700b88 100644
--- a/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/plugin/GiraphPlugin.java
+++ b/wayang-platforms/wayang-giraph/src/main/java/org/apache/wayang/giraph/plugin/GiraphPlugin.java
@@ -18,6 +18,9 @@
 
 package org.apache.wayang.giraph.plugin;
 
+import java.io.File;
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.optimizer.channels.ChannelConversion;
@@ -28,10 +31,6 @@ import org.apache.wayang.giraph.channels.ChannelConversions;
 import org.apache.wayang.giraph.mappings.Mappings;
 import org.apache.wayang.giraph.platform.GiraphPlatform;
 
-import java.io.File;
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * This {@link Plugin} activates default capabilities of the {@link GiraphPlatform}.
  */
diff --git a/wayang-platforms/wayang-giraph/src/test/java/org/apache/wayang/giraph/operators/GiraphPagaRankOperatorTest.java b/wayang-platforms/wayang-giraph/src/test/java/org/apache/wayang/giraph/operators/GiraphPagaRankOperatorTest.java
index 436c711..c73592d 100644
--- a/wayang-platforms/wayang-giraph/src/test/java/org/apache/wayang/giraph/operators/GiraphPagaRankOperatorTest.java
+++ b/wayang-platforms/wayang-giraph/src/test/java/org/apache/wayang/giraph/operators/GiraphPagaRankOperatorTest.java
@@ -18,8 +18,10 @@
 
 package org.apache.wayang.giraph.operators;
 
-import org.junit.Before;
-import org.junit.Test;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.io.IOException;
 import org.apache.wayang.basic.channels.FileChannel;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.api.Job;
@@ -33,11 +35,7 @@ import org.apache.wayang.giraph.Giraph;
 import org.apache.wayang.giraph.execution.GiraphExecutor;
 import org.apache.wayang.giraph.platform.GiraphPlatform;
 import org.apache.wayang.java.channels.StreamChannel;
-
-import java.io.IOException;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
+import org.junit.Before;
 
 /**
  * Test For GiraphPageRank
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/channels/ChannelConversions.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/channels/ChannelConversions.java
index e1e9661..4df344b 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/channels/ChannelConversions.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/channels/ChannelConversions.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.java.channels;
 
+import java.util.Arrays;
+import java.util.Collection;
 import org.apache.wayang.basic.channels.FileChannel;
 import org.apache.wayang.basic.data.Tuple2;
 import org.apache.wayang.core.optimizer.channels.ChannelConversion;
@@ -30,9 +32,6 @@ import org.apache.wayang.java.operators.JavaTsvFileSink;
 import org.apache.wayang.java.operators.JavaTsvFileSource;
 import org.apache.wayang.java.platform.JavaPlatform;
 
-import java.util.Arrays;
-import java.util.Collection;
-
 /**
  * {@link ChannelConversion}s for the {@link JavaPlatform}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/channels/CollectionChannel.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/channels/CollectionChannel.java
index c71c840..8ab7e22 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/channels/CollectionChannel.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/channels/CollectionChannel.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.java.channels;
 
+import java.util.Collection;
+import java.util.stream.Stream;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.plan.executionplan.Channel;
 import org.apache.wayang.core.plan.wayangplan.OutputSlot;
@@ -26,9 +28,6 @@ import org.apache.wayang.core.platform.ChannelDescriptor;
 import org.apache.wayang.core.platform.Executor;
 import org.apache.wayang.java.operators.JavaExecutionOperator;
 
-import java.util.Collection;
-import java.util.stream.Stream;
-
 /**
  * {@link Channel} between two {@link JavaExecutionOperator}s using an intermediate {@link Collection}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/channels/JavaChannelInstance.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/channels/JavaChannelInstance.java
index dbcdf8d..e1393f2 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/channels/JavaChannelInstance.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/channels/JavaChannelInstance.java
@@ -18,11 +18,10 @@
 
 package org.apache.wayang.java.channels;
 
+import java.util.stream.Stream;
 import org.apache.wayang.core.plan.executionplan.Channel;
 import org.apache.wayang.core.platform.ChannelInstance;
 
-import java.util.stream.Stream;
-
 /**
  * Defines execution logic to handle a {@link Channel}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/channels/StreamChannel.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/channels/StreamChannel.java
index 98d8a89..14fc7ba 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/channels/StreamChannel.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/channels/StreamChannel.java
@@ -18,6 +18,9 @@
 
 package org.apache.wayang.java.channels;
 
+import java.util.Collection;
+import java.util.OptionalLong;
+import java.util.stream.Stream;
 import org.apache.wayang.core.api.exception.WayangException;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.plan.executionplan.Channel;
@@ -27,10 +30,6 @@ import org.apache.wayang.core.platform.ChannelDescriptor;
 import org.apache.wayang.core.platform.Executor;
 import org.apache.wayang.java.operators.JavaExecutionOperator;
 
-import java.util.Collection;
-import java.util.OptionalLong;
-import java.util.stream.Stream;
-
 /**
  * {@link Channel} between two {@link JavaExecutionOperator}s using a {@link Stream}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/compiler/FunctionCompiler.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/compiler/FunctionCompiler.java
index 32c3bcb..94945a5 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/compiler/FunctionCompiler.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/compiler/FunctionCompiler.java
@@ -18,6 +18,9 @@
 
 package org.apache.wayang.java.compiler;
 
+import java.util.function.BinaryOperator;
+import java.util.function.Function;
+import java.util.function.Predicate;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.function.FlatMapDescriptor;
 import org.apache.wayang.core.function.MapPartitionsDescriptor;
@@ -25,10 +28,6 @@ import org.apache.wayang.core.function.PredicateDescriptor;
 import org.apache.wayang.core.function.ReduceDescriptor;
 import org.apache.wayang.core.function.TransformationDescriptor;
 
-import java.util.function.BinaryOperator;
-import java.util.function.Function;
-import java.util.function.Predicate;
-
 /**
  * A compiler translates Wayang functions into executable Java functions.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/execution/JavaExecutionContext.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/execution/JavaExecutionContext.java
index 14b46cc..dbc70d2 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/execution/JavaExecutionContext.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/execution/JavaExecutionContext.java
@@ -18,6 +18,7 @@
 
 package org.apache.wayang.java.execution;
 
+import java.util.Collection;
 import org.apache.wayang.core.api.exception.WayangException;
 import org.apache.wayang.core.function.ExecutionContext;
 import org.apache.wayang.core.plan.wayangplan.InputSlot;
@@ -26,8 +27,6 @@ import org.apache.wayang.java.channels.CollectionChannel;
 import org.apache.wayang.java.operators.JavaExecutionOperator;
 import org.apache.wayang.java.platform.JavaPlatform;
 
-import java.util.Collection;
-
 /**
  * {@link ExecutionContext} implementation for the {@link JavaPlatform}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/execution/JavaExecutor.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/execution/JavaExecutor.java
index 6150b7c..7fddddd 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/execution/JavaExecutor.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/execution/JavaExecutor.java
@@ -18,6 +18,9 @@
 
 package org.apache.wayang.java.execution;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
 import org.apache.wayang.core.api.Job;
 import org.apache.wayang.core.api.exception.WayangException;
 import org.apache.wayang.core.function.ExtendedFunction;
@@ -35,10 +38,6 @@ import org.apache.wayang.java.compiler.FunctionCompiler;
 import org.apache.wayang.java.operators.JavaExecutionOperator;
 import org.apache.wayang.java.platform.JavaPlatform;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-
 /**
  * {@link Executor} implementation for the {@link JavaPlatform}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/CartesianMapping.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/CartesianMapping.java
index 9fca8af..95925db 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/CartesianMapping.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/CartesianMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.java.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.CartesianOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.java.operators.JavaCartesianOperator;
 import org.apache.wayang.java.platform.JavaPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link CartesianOperator} to {@link JavaCartesianOperator}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/CoGroupMapping.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/CoGroupMapping.java
index d029d7c..be2ff24 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/CoGroupMapping.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/CoGroupMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.java.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.CoGroupOperator;
 import org.apache.wayang.basic.operators.JoinOperator;
 import org.apache.wayang.core.mapping.Mapping;
@@ -30,9 +32,6 @@ import org.apache.wayang.java.operators.JavaCoGroupOperator;
 import org.apache.wayang.java.operators.JavaJoinOperator;
 import org.apache.wayang.java.platform.JavaPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link JoinOperator} to {@link JavaJoinOperator}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/CollectionSourceMapping.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/CollectionSourceMapping.java
index d56087b..b7f9558 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/CollectionSourceMapping.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/CollectionSourceMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.java.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.CollectionSource;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.java.operators.JavaCollectionSource;
 import org.apache.wayang.java.platform.JavaPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link CollectionSource} to {@link JavaCollectionSource}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/CountMapping.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/CountMapping.java
index ec2c97a..6971e08 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/CountMapping.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/CountMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.java.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.CountOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.java.operators.JavaCountOperator;
 import org.apache.wayang.java.platform.JavaPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link CountOperator} to {@link JavaCountOperator}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/DistinctMapping.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/DistinctMapping.java
index bdea8d7..421860f 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/DistinctMapping.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/DistinctMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.java.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.DistinctOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.java.operators.JavaDistinctOperator;
 import org.apache.wayang.java.platform.JavaPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link DistinctOperator} to {@link JavaDistinctOperator}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/DoWhileMapping.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/DoWhileMapping.java
index c71fab6..f33ab1c 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/DoWhileMapping.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/DoWhileMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.java.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.DoWhileOperator;
 import org.apache.wayang.basic.operators.LoopOperator;
 import org.apache.wayang.core.function.PredicateDescriptor;
@@ -31,9 +33,6 @@ import org.apache.wayang.java.operators.JavaDoWhileOperator;
 import org.apache.wayang.java.operators.JavaLoopOperator;
 import org.apache.wayang.java.platform.JavaPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link LoopOperator} to {@link JavaLoopOperator}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/FilterMapping.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/FilterMapping.java
index a75c4cb..f9710e0 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/FilterMapping.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/FilterMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.java.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.FilterOperator;
 import org.apache.wayang.core.function.PredicateDescriptor;
 import org.apache.wayang.core.mapping.Mapping;
@@ -29,9 +31,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.java.operators.JavaFilterOperator;
 import org.apache.wayang.java.platform.JavaPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link FilterOperator} to {@link JavaFilterOperator}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/FlatMapMapping.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/FlatMapMapping.java
index 3f282c0..ef34935 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/FlatMapMapping.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/FlatMapMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.java.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.FlatMapOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.java.operators.JavaFlatMapOperator;
 import org.apache.wayang.java.platform.JavaPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link FlatMapOperator} to {@link JavaFlatMapOperator}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/GlobalMaterializedGroupMapping.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/GlobalMaterializedGroupMapping.java
index 7472966..8328094 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/GlobalMaterializedGroupMapping.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/GlobalMaterializedGroupMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.java.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.GlobalMaterializedGroupOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.java.operators.JavaGlobalMaterializedGroupOperator;
 import org.apache.wayang.java.platform.JavaPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link GlobalMaterializedGroupOperator} to {@link JavaGlobalMaterializedGroupOperator}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/GlobalReduceMapping.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/GlobalReduceMapping.java
index c4aa625..d61cb93 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/GlobalReduceMapping.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/GlobalReduceMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.java.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.GlobalReduceOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.java.operators.JavaGlobalReduceOperator;
 import org.apache.wayang.java.platform.JavaPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link GlobalReduceOperator} to {@link JavaGlobalReduceOperator}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/IntersectMapping.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/IntersectMapping.java
index c3e1750..77d24e3 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/IntersectMapping.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/IntersectMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.java.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.IntersectOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.java.operators.JavaIntersectOperator;
 import org.apache.wayang.java.platform.JavaPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link IntersectOperator} to {@link JavaIntersectOperator}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/JoinMapping.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/JoinMapping.java
index e48d0eb..5704f7c 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/JoinMapping.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/JoinMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.java.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.JoinOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.java.operators.JavaJoinOperator;
 import org.apache.wayang.java.platform.JavaPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link JoinOperator} to {@link JavaJoinOperator}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/LocalCallbackSinkMapping.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/LocalCallbackSinkMapping.java
index 51b7819..b0a1777 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/LocalCallbackSinkMapping.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/LocalCallbackSinkMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.java.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.LocalCallbackSink;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.java.operators.JavaLocalCallbackSink;
 import org.apache.wayang.java.platform.JavaPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link LocalCallbackSink} to {@link JavaLocalCallbackSink}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/LoopMapping.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/LoopMapping.java
index de3386d..6b3c5b9 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/LoopMapping.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/LoopMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.java.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.LoopOperator;
 import org.apache.wayang.core.function.PredicateDescriptor;
 import org.apache.wayang.core.mapping.Mapping;
@@ -29,9 +31,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.java.operators.JavaLoopOperator;
 import org.apache.wayang.java.platform.JavaPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link LoopOperator} to {@link JavaLoopOperator}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/MapMapping.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/MapMapping.java
index 60c73cb..d5f7c4c 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/MapMapping.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/MapMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.java.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.MapOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.java.operators.JavaMapOperator;
 import org.apache.wayang.java.platform.JavaPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link MapOperator} to {@link JavaMapOperator}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/MapPartitionsMapping.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/MapPartitionsMapping.java
index dc1bb5a..49a9d5f 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/MapPartitionsMapping.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/MapPartitionsMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.java.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.MapPartitionsOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.java.operators.JavaMapPartitionsOperator;
 import org.apache.wayang.java.platform.JavaPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link MapPartitionsOperator} to {@link JavaMapPartitionsOperator}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/Mappings.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/Mappings.java
index fef4791..c77d531 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/Mappings.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/Mappings.java
@@ -18,11 +18,10 @@
 
 package org.apache.wayang.java.mapping;
 
-import org.apache.wayang.core.mapping.Mapping;
-import org.apache.wayang.java.mapping.graph.PageRankMapping;
-
 import java.util.Arrays;
 import java.util.Collection;
+import org.apache.wayang.core.mapping.Mapping;
+import org.apache.wayang.java.mapping.graph.PageRankMapping;
 
 /**
  * Register for {@link Mapping}s for this platform.
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/MaterializedGroupByMapping.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/MaterializedGroupByMapping.java
index b74e5e0..4ffad2f 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/MaterializedGroupByMapping.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/MaterializedGroupByMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.java.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.MaterializedGroupByOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.java.operators.JavaMaterializedGroupByOperator;
 import org.apache.wayang.java.platform.JavaPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link MaterializedGroupByOperator} to {@link JavaMaterializedGroupByOperator}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/ObjectFileSinkMapping.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/ObjectFileSinkMapping.java
index f2bdf5e..cbc4dca 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/ObjectFileSinkMapping.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/ObjectFileSinkMapping.java
@@ -21,7 +21,6 @@ package org.apache.wayang.java.mapping;
 import java.util.Collection;
 import java.util.Collections;
 import org.apache.wayang.basic.operators.ObjectFileSink;
-import org.apache.wayang.basic.operators.TextFileSink;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
 import org.apache.wayang.core.mapping.PlanTransformation;
@@ -29,7 +28,6 @@ import org.apache.wayang.core.mapping.ReplacementSubplanFactory;
 import org.apache.wayang.core.mapping.SubplanPattern;
 import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.java.operators.JavaObjectFileSink;
-import org.apache.wayang.java.operators.JavaTextFileSink;
 import org.apache.wayang.java.platform.JavaPlatform;
 
 /**
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/ObjectFileSourceMapping.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/ObjectFileSourceMapping.java
index dbc101e..2e5f466 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/ObjectFileSourceMapping.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/ObjectFileSourceMapping.java
@@ -21,7 +21,6 @@ package org.apache.wayang.java.mapping;
 import java.util.Collection;
 import java.util.Collections;
 import org.apache.wayang.basic.operators.ObjectFileSource;
-import org.apache.wayang.basic.operators.TextFileSource;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
 import org.apache.wayang.core.mapping.PlanTransformation;
@@ -29,7 +28,6 @@ import org.apache.wayang.core.mapping.ReplacementSubplanFactory;
 import org.apache.wayang.core.mapping.SubplanPattern;
 import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.java.operators.JavaObjectFileSource;
-import org.apache.wayang.java.operators.JavaTextFileSource;
 import org.apache.wayang.java.platform.JavaPlatform;
 
 /**
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/ReduceByMapping.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/ReduceByMapping.java
index cea8d88..45684e9 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/ReduceByMapping.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/ReduceByMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.java.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.ReduceByOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.java.operators.JavaReduceByOperator;
 import org.apache.wayang.java.platform.JavaPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link ReduceByOperator} to {@link JavaReduceByOperator}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/RepeatMapping.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/RepeatMapping.java
index 8d80f33..dbd3b8d 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/RepeatMapping.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/RepeatMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.java.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.RepeatOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.java.operators.JavaRepeatOperator;
 import org.apache.wayang.java.platform.JavaPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link RepeatOperator} to {@link JavaRepeatOperator}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/SampleMapping.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/SampleMapping.java
index 6cf42c2..d67e6ec 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/SampleMapping.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/SampleMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.java.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.SampleOperator;
 import org.apache.wayang.core.api.exception.WayangException;
 import org.apache.wayang.core.mapping.Mapping;
@@ -30,9 +32,6 @@ import org.apache.wayang.java.operators.JavaRandomSampleOperator;
 import org.apache.wayang.java.operators.JavaReservoirSampleOperator;
 import org.apache.wayang.java.platform.JavaPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link SampleOperator} to {@link JavaRandomSampleOperator}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/SortMapping.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/SortMapping.java
index 302f118..8e59b0a 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/SortMapping.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/SortMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.java.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.SortOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.java.operators.JavaSortOperator;
 import org.apache.wayang.java.platform.JavaPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link SortOperator} to {@link JavaSortOperator}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/TextFileSinkMapping.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/TextFileSinkMapping.java
index eb1d05a..34b5140 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/TextFileSinkMapping.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/TextFileSinkMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.java.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.TextFileSink;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.java.operators.JavaTextFileSink;
 import org.apache.wayang.java.platform.JavaPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link TextFileSink} to {@link JavaTextFileSink}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/TextFileSourceMapping.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/TextFileSourceMapping.java
index 3bc5aa1..45e5db9 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/TextFileSourceMapping.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/TextFileSourceMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.java.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.TextFileSource;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -27,9 +29,6 @@ import org.apache.wayang.core.mapping.SubplanPattern;
 import org.apache.wayang.java.operators.JavaTextFileSource;
 import org.apache.wayang.java.platform.JavaPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link TextFileSource} to {@link JavaTextFileSource}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/UnionAllMapping.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/UnionAllMapping.java
index 8fc0fbf..a847cea 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/UnionAllMapping.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/UnionAllMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.java.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.UnionAllOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -28,9 +30,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.java.operators.JavaUnionAllOperator;
 import org.apache.wayang.java.platform.JavaPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link UnionAllOperator} to {@link JavaUnionAllOperator}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/ZipWithIdMapping.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/ZipWithIdMapping.java
index ce0f590..9ae8d8f 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/ZipWithIdMapping.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/ZipWithIdMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.java.mapping;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.data.Tuple2;
 import org.apache.wayang.basic.operators.ZipWithIdOperator;
 import org.apache.wayang.core.function.ExecutionContext;
@@ -32,9 +34,6 @@ import org.apache.wayang.core.types.DataSetType;
 import org.apache.wayang.java.operators.JavaMapOperator;
 import org.apache.wayang.java.platform.JavaPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link ZipWithIdMapping} to a subplan.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/graph/PageRankMapping.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/graph/PageRankMapping.java
index d2a4c3d..b2b0cb2 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/graph/PageRankMapping.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/mapping/graph/PageRankMapping.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.java.mapping.graph;
 
+import java.util.Collection;
+import java.util.Collections;
 import org.apache.wayang.basic.operators.PageRankOperator;
 import org.apache.wayang.core.mapping.Mapping;
 import org.apache.wayang.core.mapping.OperatorPattern;
@@ -27,9 +29,6 @@ import org.apache.wayang.core.mapping.SubplanPattern;
 import org.apache.wayang.java.operators.graph.JavaPageRankOperator;
 import org.apache.wayang.java.platform.JavaPlatform;
 
-import java.util.Collection;
-import java.util.Collections;
-
 /**
  * Mapping from {@link PageRankOperator} to {@link JavaPageRankOperator}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaCartesianOperator.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaCartesianOperator.java
index cdb4822..d9d0b7d 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaCartesianOperator.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaCartesianOperator.java
@@ -18,6 +18,13 @@
 
 package org.apache.wayang.java.operators;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
 import org.apache.wayang.basic.data.Tuple2;
 import org.apache.wayang.basic.operators.CartesianOperator;
 import org.apache.wayang.core.optimizer.OptimizationContext;
@@ -33,14 +40,6 @@ import org.apache.wayang.java.channels.JavaChannelInstance;
 import org.apache.wayang.java.channels.StreamChannel;
 import org.apache.wayang.java.execution.JavaExecutor;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
 /**
  * Java implementation of the {@link CartesianOperator}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaCoGroupOperator.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaCoGroupOperator.java
index 253110f..9e255f1 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaCoGroupOperator.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaCoGroupOperator.java
@@ -18,6 +18,16 @@
 
 package org.apache.wayang.java.operators;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+import java.util.function.Function;
 import org.apache.wayang.basic.data.Tuple2;
 import org.apache.wayang.basic.operators.CoGroupOperator;
 import org.apache.wayang.core.api.Configuration;
@@ -37,17 +47,6 @@ import org.apache.wayang.java.channels.JavaChannelInstance;
 import org.apache.wayang.java.channels.StreamChannel;
 import org.apache.wayang.java.execution.JavaExecutor;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-import java.util.function.Function;
-
 /**
  * Java implementation of the {@link CoGroupOperator}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaCollectOperator.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaCollectOperator.java
index 10ddfa6..32bfde5 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaCollectOperator.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaCollectOperator.java
@@ -18,6 +18,11 @@
 
 package org.apache.wayang.java.operators;
 
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Optional;
+import java.util.stream.Collectors;
 import org.apache.commons.lang3.Validate;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.optimizer.OptimizationContext;
@@ -34,12 +39,6 @@ import org.apache.wayang.java.channels.CollectionChannel;
 import org.apache.wayang.java.channels.StreamChannel;
 import org.apache.wayang.java.execution.JavaExecutor;
 
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Optional;
-import java.util.stream.Collectors;
-
 /**
  * Converts {@link StreamChannel} into a {@link CollectionChannel}
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaCollectionSource.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaCollectionSource.java
index 7020349..543d6d6 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaCollectionSource.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaCollectionSource.java
@@ -18,6 +18,9 @@
 
 package org.apache.wayang.java.operators;
 
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
 import org.apache.wayang.basic.operators.CollectionSource;
 import org.apache.wayang.basic.operators.TextFileSource;
 import org.apache.wayang.core.optimizer.OptimizationContext;
@@ -30,10 +33,6 @@ import org.apache.wayang.core.util.Tuple;
 import org.apache.wayang.java.channels.CollectionChannel;
 import org.apache.wayang.java.execution.JavaExecutor;
 
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
 /**
  * This is execution operator implements the {@link TextFileSource}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaCountOperator.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaCountOperator.java
index 0cdf1fd..9018599 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaCountOperator.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaCountOperator.java
@@ -18,6 +18,10 @@
 
 package org.apache.wayang.java.operators;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
 import org.apache.wayang.basic.operators.CountOperator;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.plan.wayangplan.ExecutionOperator;
@@ -31,11 +35,6 @@ import org.apache.wayang.java.channels.JavaChannelInstance;
 import org.apache.wayang.java.channels.StreamChannel;
 import org.apache.wayang.java.execution.JavaExecutor;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
 /**
  * Java implementation of the {@link CountOperator}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaDistinctOperator.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaDistinctOperator.java
index 2f43c83..714087a 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaDistinctOperator.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaDistinctOperator.java
@@ -18,6 +18,10 @@
 
 package org.apache.wayang.java.operators;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
 import org.apache.wayang.basic.operators.DistinctOperator;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.plan.wayangplan.ExecutionOperator;
@@ -31,11 +35,6 @@ import org.apache.wayang.java.channels.JavaChannelInstance;
 import org.apache.wayang.java.channels.StreamChannel;
 import org.apache.wayang.java.execution.JavaExecutor;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
 /**
  * Java implementation of the {@link DistinctOperator}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaDoWhileOperator.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaDoWhileOperator.java
index d1a3659..b2556a9 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaDoWhileOperator.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaDoWhileOperator.java
@@ -18,6 +18,12 @@
 
 package org.apache.wayang.java.operators;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Optional;
+import java.util.function.Predicate;
 import org.apache.wayang.basic.operators.DoWhileOperator;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.function.PredicateDescriptor;
@@ -35,13 +41,6 @@ import org.apache.wayang.java.channels.JavaChannelInstance;
 import org.apache.wayang.java.channels.StreamChannel;
 import org.apache.wayang.java.execution.JavaExecutor;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Optional;
-import java.util.function.Predicate;
-
 /**
  * Java implementation of the {@link DoWhileOperator}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaExecutionOperator.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaExecutionOperator.java
index d6b2ae3..cee674c 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaExecutionOperator.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaExecutionOperator.java
@@ -18,6 +18,8 @@
 
 package org.apache.wayang.java.operators;
 
+import java.util.Collection;
+import java.util.stream.Stream;
 import org.apache.wayang.core.api.exception.WayangException;
 import org.apache.wayang.core.optimizer.OptimizationContext;
 import org.apache.wayang.core.plan.wayangplan.ExecutionOperator;
@@ -30,9 +32,6 @@ import org.apache.wayang.java.channels.StreamChannel;
 import org.apache.wayang.java.execution.JavaExecutor;
 import org.apache.wayang.java.platform.JavaPlatform;
 
-import java.util.Collection;
-import java.util.stream.Stream;
-
 /**
  * Execution operator for the Java platform.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaFilterOperator.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaFilterOperator.java
index 757220e..1d1c3f2 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaFilterOperator.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaFilterOperator.java
@@ -18,6 +18,12 @@
 
 package org.apache.wayang.java.operators;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Optional;
+import java.util.function.Predicate;
 import org.apache.wayang.basic.operators.FilterOperator;
 import org.apache.wayang.core.api.Configuration;
 import org.apache.wayang.core.function.PredicateDescriptor;
@@ -35,13 +41,6 @@ import org.apache.wayang.java.channels.JavaChannelInstance;
 import org.apache.wayang.java.channels.StreamChannel;
 import org.apache.wayang.java.execution.JavaExecutor;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Optional;
-import java.util.function.Predicate;
-
 /**
  * Java implementation of the {@link FilterOperator}.
  */
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaFlatMapOperator.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaFlatMapOperator.java
index 3c101ad..1d3590b 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaFlatMapOperator.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/operators/JavaFlatMapOperator.java
@@ -18,6 +18,15 @@
 
 package org.apache.wayang.java.operators;
 
+import java.util.Arrays;
... 6884 lines suppressed ...