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/02/06 17:27:56 UTC

[incubator-wayang] 05/16: Add header licence to files in wayang-core

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

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

commit e3d111642433e9b2f49511786d6abaa52505b81c
Author: Bertty Contreras-Rojas <be...@scalytics.io>
AuthorDate: Sat Feb 6 14:14:38 2021 -0300

    Add header licence to files in wayang-core
---
 wayang-core/pom.xml                                    | 11 +++++++++++
 .../antlr4/org/apache/wayang/core/mathex/MathEx.g4     | 18 ++++++++++++++++++
 .../java/org/apache/wayang/core/api/Configuration.java | 18 ++++++++++++++++++
 .../src/main/java/org/apache/wayang/core/api/Job.java  | 18 ++++++++++++++++++
 .../java/org/apache/wayang/core/api/WayangContext.java | 18 ++++++++++++++++++
 .../core/api/configuration/CollectionProvider.java     | 18 ++++++++++++++++++
 .../core/api/configuration/ConstantValueProvider.java  | 18 ++++++++++++++++++
 .../api/configuration/ExplicitCollectionProvider.java  | 18 ++++++++++++++++++
 .../configuration/FunctionalCollectionProvider.java    | 18 ++++++++++++++++++
 .../api/configuration/FunctionalKeyValueProvider.java  | 18 ++++++++++++++++++
 .../api/configuration/FunctionalValueProvider.java     | 18 ++++++++++++++++++
 .../core/api/configuration/KeyValueProvider.java       | 18 ++++++++++++++++++
 .../api/configuration/MapBasedKeyValueProvider.java    | 18 ++++++++++++++++++
 .../wayang/core/api/configuration/ValueProvider.java   | 18 ++++++++++++++++++
 .../wayang/core/api/exception/WayangException.java     | 18 ++++++++++++++++++
 .../wayang/core/function/AggregationDescriptor.java    | 18 ++++++++++++++++++
 .../wayang/core/function/ConsumerDescriptor.java       | 18 ++++++++++++++++++
 .../apache/wayang/core/function/ExecutionContext.java  | 18 ++++++++++++++++++
 .../apache/wayang/core/function/ExtendedFunction.java  | 18 ++++++++++++++++++
 .../apache/wayang/core/function/FlatMapDescriptor.java | 18 ++++++++++++++++++
 .../wayang/core/function/FunctionDescriptor.java       | 18 ++++++++++++++++++
 .../wayang/core/function/MapPartitionsDescriptor.java  | 18 ++++++++++++++++++
 .../wayang/core/function/PredicateDescriptor.java      | 18 ++++++++++++++++++
 .../apache/wayang/core/function/ReduceDescriptor.java  | 18 ++++++++++++++++++
 .../wayang/core/function/TransformationDescriptor.java | 18 ++++++++++++++++++
 .../java/org/apache/wayang/core/mapping/Mapping.java   | 18 ++++++++++++++++++
 .../org/apache/wayang/core/mapping/OperatorMatch.java  | 18 ++++++++++++++++++
 .../apache/wayang/core/mapping/OperatorPattern.java    | 18 ++++++++++++++++++
 .../apache/wayang/core/mapping/PlanTransformation.java | 18 ++++++++++++++++++
 .../wayang/core/mapping/ReplacementSubplanFactory.java | 18 ++++++++++++++++++
 .../org/apache/wayang/core/mapping/SubplanMatch.java   | 18 ++++++++++++++++++
 .../org/apache/wayang/core/mapping/SubplanPattern.java | 18 ++++++++++++++++++
 .../apache/wayang/core/monitor/DisabledMonitor.java    | 18 ++++++++++++++++++
 .../org/apache/wayang/core/monitor/FileMonitor.java    | 18 ++++++++++++++++++
 .../org/apache/wayang/core/monitor/HttpMonitor.java    | 18 ++++++++++++++++++
 .../java/org/apache/wayang/core/monitor/Monitor.java   | 18 ++++++++++++++++++
 .../org/apache/wayang/core/monitor/ZeroMQMonitor.java  | 18 ++++++++++++++++++
 .../core/optimizer/AggregateOptimizationContext.java   | 18 ++++++++++++++++++
 .../core/optimizer/DefaultOptimizationContext.java     | 18 ++++++++++++++++++
 .../wayang/core/optimizer/OptimizationContext.java     | 18 ++++++++++++++++++
 .../wayang/core/optimizer/OptimizationUtils.java       | 18 ++++++++++++++++++
 .../core/optimizer/ProbabilisticDoubleInterval.java    | 18 ++++++++++++++++++
 .../core/optimizer/ProbabilisticIntervalEstimate.java  | 18 ++++++++++++++++++
 .../apache/wayang/core/optimizer/SanityChecker.java    | 18 ++++++++++++++++++
 .../AbstractAlternativeCardinalityPusher.java          | 18 ++++++++++++++++++
 .../cardinality/AggregatingCardinalityEstimator.java   | 18 ++++++++++++++++++
 .../optimizer/cardinality/CardinalityEstimate.java     | 18 ++++++++++++++++++
 .../cardinality/CardinalityEstimationTraversal.java    | 18 ++++++++++++++++++
 .../optimizer/cardinality/CardinalityEstimator.java    | 18 ++++++++++++++++++
 .../cardinality/CardinalityEstimatorManager.java       | 18 ++++++++++++++++++
 .../core/optimizer/cardinality/CardinalityPusher.java  | 18 ++++++++++++++++++
 .../cardinality/DefaultCardinalityEstimator.java       | 18 ++++++++++++++++++
 .../cardinality/DefaultCardinalityPusher.java          | 18 ++++++++++++++++++
 .../cardinality/FallbackCardinalityEstimator.java      | 18 ++++++++++++++++++
 .../cardinality/FixedSizeCardinalityEstimator.java     | 18 ++++++++++++++++++
 .../LoopHeadAlternativeCardinalityPusher.java          | 18 ++++++++++++++++++
 .../cardinality/LoopSubplanCardinalityPusher.java      | 18 ++++++++++++++++++
 .../OperatorAlternativeCardinalityPusher.java          | 18 ++++++++++++++++++
 .../cardinality/SubplanCardinalityPusher.java          | 18 ++++++++++++++++++
 .../cardinality/SwitchForwardCardinalityEstimator.java | 18 ++++++++++++++++++
 .../core/optimizer/channels/ChannelConversion.java     | 18 ++++++++++++++++++
 .../optimizer/channels/ChannelConversionGraph.java     | 18 ++++++++++++++++++
 .../optimizer/channels/DefaultChannelConversion.java   | 18 ++++++++++++++++++
 .../optimizer/costs/ConstantLoadProfileEstimator.java  | 18 ++++++++++++++++++
 .../core/optimizer/costs/DefaultLoadEstimator.java     | 18 ++++++++++++++++++
 .../wayang/core/optimizer/costs/EstimationContext.java | 18 ++++++++++++++++++
 .../core/optimizer/costs/IntervalLoadEstimator.java    | 18 ++++++++++++++++++
 .../wayang/core/optimizer/costs/LoadEstimate.java      | 18 ++++++++++++++++++
 .../wayang/core/optimizer/costs/LoadEstimator.java     | 18 ++++++++++++++++++
 .../wayang/core/optimizer/costs/LoadProfile.java       | 18 ++++++++++++++++++
 .../core/optimizer/costs/LoadProfileEstimator.java     | 18 ++++++++++++++++++
 .../core/optimizer/costs/LoadProfileEstimators.java    | 18 ++++++++++++++++++
 .../optimizer/costs/LoadProfileToTimeConverter.java    | 18 ++++++++++++++++++
 .../core/optimizer/costs/LoadToTimeConverter.java      | 18 ++++++++++++++++++
 .../optimizer/costs/NestableLoadProfileEstimator.java  | 18 ++++++++++++++++++
 .../core/optimizer/costs/SimpleEstimationContext.java  | 18 ++++++++++++++++++
 .../wayang/core/optimizer/costs/TimeEstimate.java      | 18 ++++++++++++++++++
 .../core/optimizer/costs/TimeToCostConverter.java      | 18 ++++++++++++++++++
 .../core/optimizer/enumeration/ExecutionTaskFlow.java  | 18 ++++++++++++++++++
 .../enumeration/ExecutionTaskFlowCompiler.java         | 18 ++++++++++++++++++
 .../enumeration/LatentOperatorPruningStrategy.java     | 18 ++++++++++++++++++
 .../core/optimizer/enumeration/LoopEnumerator.java     | 18 ++++++++++++++++++
 .../core/optimizer/enumeration/LoopImplementation.java | 18 ++++++++++++++++++
 .../core/optimizer/enumeration/PlanEnumeration.java    | 18 ++++++++++++++++++
 .../enumeration/PlanEnumerationPruningStrategy.java    | 18 ++++++++++++++++++
 .../core/optimizer/enumeration/PlanEnumerator.java     | 18 ++++++++++++++++++
 .../core/optimizer/enumeration/PlanImplementation.java | 18 ++++++++++++++++++
 .../optimizer/enumeration/RandomPruningStrategy.java   | 18 ++++++++++++++++++
 .../enumeration/SinglePlatformPruningStrategy.java     | 18 ++++++++++++++++++
 .../enumeration/StageAssignmentTraversal.java          | 18 ++++++++++++++++++
 .../optimizer/enumeration/TopKPruningStrategy.java     | 18 ++++++++++++++++++
 .../optimizer/partition/EnumerationAlternative.java    | 18 ++++++++++++++++++
 .../core/optimizer/partition/EnumerationBranch.java    | 18 ++++++++++++++++++
 .../apache/wayang/core/plan/executionplan/Channel.java | 18 ++++++++++++++++++
 .../core/plan/executionplan/ChannelInitializer.java    | 18 ++++++++++++++++++
 .../wayang/core/plan/executionplan/ExecutionPlan.java  | 18 ++++++++++++++++++
 .../wayang/core/plan/executionplan/ExecutionStage.java | 18 ++++++++++++++++++
 .../core/plan/executionplan/ExecutionStageLoop.java    | 18 ++++++++++++++++++
 .../wayang/core/plan/executionplan/ExecutionTask.java  | 18 ++++++++++++++++++
 .../core/plan/executionplan/PlatformExecution.java     | 18 ++++++++++++++++++
 .../wayang/core/plan/wayangplan/ActualOperator.java    | 18 ++++++++++++++++++
 .../core/plan/wayangplan/BinaryToUnaryOperator.java    | 18 ++++++++++++++++++
 .../wayang/core/plan/wayangplan/CompositeOperator.java | 18 ++++++++++++++++++
 .../core/plan/wayangplan/ElementaryOperator.java       | 18 ++++++++++++++++++
 .../plan/wayangplan/EstimationContextProperty.java     | 18 ++++++++++++++++++
 .../wayang/core/plan/wayangplan/ExecutionOperator.java | 18 ++++++++++++++++++
 .../apache/wayang/core/plan/wayangplan/InputSlot.java  | 18 ++++++++++++++++++
 .../core/plan/wayangplan/LoopHeadAlternative.java      | 18 ++++++++++++++++++
 .../wayang/core/plan/wayangplan/LoopHeadOperator.java  | 18 ++++++++++++++++++
 .../wayang/core/plan/wayangplan/LoopIsolator.java      | 18 ++++++++++++++++++
 .../wayang/core/plan/wayangplan/LoopSubplan.java       | 18 ++++++++++++++++++
 .../apache/wayang/core/plan/wayangplan/Operator.java   | 18 ++++++++++++++++++
 .../core/plan/wayangplan/OperatorAlternative.java      | 18 ++++++++++++++++++
 .../wayang/core/plan/wayangplan/OperatorBase.java      | 18 ++++++++++++++++++
 .../wayang/core/plan/wayangplan/OperatorContainer.java | 18 ++++++++++++++++++
 .../core/plan/wayangplan/OperatorContainers.java       | 18 ++++++++++++++++++
 .../apache/wayang/core/plan/wayangplan/Operators.java  | 18 ++++++++++++++++++
 .../apache/wayang/core/plan/wayangplan/OutputSlot.java | 18 ++++++++++++++++++
 .../wayang/core/plan/wayangplan/PlanMetrics.java       | 18 ++++++++++++++++++
 .../wayang/core/plan/wayangplan/PlanTraversal.java     | 18 ++++++++++++++++++
 .../org/apache/wayang/core/plan/wayangplan/Slot.java   | 18 ++++++++++++++++++
 .../wayang/core/plan/wayangplan/SlotMapping.java       | 18 ++++++++++++++++++
 .../apache/wayang/core/plan/wayangplan/Subplan.java    | 18 ++++++++++++++++++
 .../core/plan/wayangplan/TopDownPlanVisitor.java       | 18 ++++++++++++++++++
 .../apache/wayang/core/plan/wayangplan/UnarySink.java  | 18 ++++++++++++++++++
 .../wayang/core/plan/wayangplan/UnarySource.java       | 18 ++++++++++++++++++
 .../core/plan/wayangplan/UnaryToUnaryOperator.java     | 18 ++++++++++++++++++
 .../apache/wayang/core/plan/wayangplan/WayangPlan.java | 18 ++++++++++++++++++
 .../traversal/AbstractTopologicalTraversal.java        | 18 ++++++++++++++++++
 .../wayang/core/platform/AbstractChannelInstance.java  | 18 ++++++++++++++++++
 .../apache/wayang/core/platform/AtomicExecution.java   | 18 ++++++++++++++++++
 .../wayang/core/platform/AtomicExecutionGroup.java     | 18 ++++++++++++++++++
 .../org/apache/wayang/core/platform/Breakpoint.java    | 18 ++++++++++++++++++
 .../wayang/core/platform/CardinalityBreakpoint.java    | 18 ++++++++++++++++++
 .../apache/wayang/core/platform/ChannelDescriptor.java | 18 ++++++++++++++++++
 .../apache/wayang/core/platform/ChannelInstance.java   | 18 ++++++++++++++++++
 .../core/platform/CompositeExecutionResource.java      | 18 ++++++++++++++++++
 .../wayang/core/platform/ConjunctiveBreakpoint.java    | 18 ++++++++++++++++++
 .../wayang/core/platform/CrossPlatformExecutor.java    | 18 ++++++++++++++++++
 .../apache/wayang/core/platform/ExecutionResource.java | 18 ++++++++++++++++++
 .../core/platform/ExecutionResourceTemplate.java       | 18 ++++++++++++++++++
 .../apache/wayang/core/platform/ExecutionState.java    | 18 ++++++++++++++++++
 .../java/org/apache/wayang/core/platform/Executor.java | 18 ++++++++++++++++++
 .../apache/wayang/core/platform/ExecutorTemplate.java  | 18 ++++++++++++++++++
 .../org/apache/wayang/core/platform/FixBreakpoint.java | 18 ++++++++++++++++++
 .../java/org/apache/wayang/core/platform/Junction.java | 18 ++++++++++++++++++
 .../wayang/core/platform/NoIterationBreakpoint.java    | 18 ++++++++++++++++++
 .../apache/wayang/core/platform/PartialExecution.java  | 18 ++++++++++++++++++
 .../java/org/apache/wayang/core/platform/Platform.java | 18 ++++++++++++++++++
 .../wayang/core/platform/PushExecutorTemplate.java     | 18 ++++++++++++++++++
 .../core/platform/lineage/ChannelLineageNode.java      | 18 ++++++++++++++++++
 .../core/platform/lineage/ExecutionLineageNode.java    | 18 ++++++++++++++++++
 .../platform/lineage/LazyExecutionLineageNode.java     | 18 ++++++++++++++++++
 .../org/apache/wayang/core/plugin/DynamicPlugin.java   | 18 ++++++++++++++++++
 .../java/org/apache/wayang/core/plugin/Plugin.java     | 18 ++++++++++++++++++
 .../wayang/core/profiling/CardinalityRepository.java   | 18 ++++++++++++++++++
 .../apache/wayang/core/profiling/CostMeasurement.java  | 18 ++++++++++++++++++
 .../org/apache/wayang/core/profiling/ExecutionLog.java | 18 ++++++++++++++++++
 .../core/profiling/ExecutionPlanMeasurement.java       | 18 ++++++++++++++++++
 .../core/profiling/FullInstrumentationStrategy.java    | 18 ++++++++++++++++++
 .../wayang/core/profiling/InstrumentationStrategy.java | 18 ++++++++++++++++++
 .../core/profiling/NoInstrumentationStrategy.java      | 18 ++++++++++++++++++
 .../profiling/OutboundInstrumentationStrategy.java     | 18 ++++++++++++++++++
 .../core/profiling/PartialExecutionMeasurement.java    | 18 ++++++++++++++++++
 .../org/apache/wayang/core/profiling/ProfileDBs.java   | 18 ++++++++++++++++++
 .../apache/wayang/core/types/BasicDataUnitType.java    | 18 ++++++++++++++++++
 .../java/org/apache/wayang/core/types/DataSetType.java | 18 ++++++++++++++++++
 .../apache/wayang/core/types/DataUnitGroupType.java    | 18 ++++++++++++++++++
 .../org/apache/wayang/core/types/DataUnitType.java     | 18 ++++++++++++++++++
 .../wayang/core/util/AbstractReferenceCountable.java   | 18 ++++++++++++++++++
 .../main/java/org/apache/wayang/core/util/Action.java  | 18 ++++++++++++++++++
 .../main/java/org/apache/wayang/core/util/Actions.java | 18 ++++++++++++++++++
 .../main/java/org/apache/wayang/core/util/Bitmask.java | 18 ++++++++++++++++++
 .../org/apache/wayang/core/util/Canonicalizer.java     | 18 ++++++++++++++++++
 .../wayang/core/util/ConsumerIteratorAdapter.java      | 18 ++++++++++++++++++
 .../java/org/apache/wayang/core/util/Copyable.java     | 18 ++++++++++++++++++
 .../main/java/org/apache/wayang/core/util/Counter.java | 18 ++++++++++++++++++
 .../apache/wayang/core/util/CrossProductIterable.java  | 18 ++++++++++++++++++
 .../main/java/org/apache/wayang/core/util/Formats.java | 18 ++++++++++++++++++
 .../java/org/apache/wayang/core/util/Iterators.java    | 18 ++++++++++++++++++
 .../org/apache/wayang/core/util/JsonSerializable.java  | 18 ++++++++++++++++++
 .../org/apache/wayang/core/util/JsonSerializables.java | 18 ++++++++++++++++++
 .../org/apache/wayang/core/util/JsonSerializer.java    | 18 ++++++++++++++++++
 .../java/org/apache/wayang/core/util/JuelUtils.java    | 18 ++++++++++++++++++
 .../apache/wayang/core/util/LimitedInputStream.java    | 18 ++++++++++++++++++
 .../main/java/org/apache/wayang/core/util/Logging.java | 18 ++++++++++++++++++
 .../java/org/apache/wayang/core/util/LruCache.java     | 18 ++++++++++++++++++
 .../java/org/apache/wayang/core/util/MultiMap.java     | 18 ++++++++++++++++++
 .../org/apache/wayang/core/util/OneTimeExecutable.java | 18 ++++++++++++++++++
 .../java/org/apache/wayang/core/util/Optional.java     | 18 ++++++++++++++++++
 .../apache/wayang/core/util/ReferenceCountable.java    | 18 ++++++++++++++++++
 .../org/apache/wayang/core/util/ReflectionUtils.java   | 18 ++++++++++++++++++
 .../main/java/org/apache/wayang/core/util/Tuple.java   | 18 ++++++++++++++++++
 .../java/org/apache/wayang/core/util/WayangArrays.java | 18 ++++++++++++++++++
 .../org/apache/wayang/core/util/WayangCollections.java | 18 ++++++++++++++++++
 .../org/apache/wayang/core/util/fs/FileSystem.java     | 18 ++++++++++++++++++
 .../org/apache/wayang/core/util/fs/FileSystems.java    | 18 ++++++++++++++++++
 .../java/org/apache/wayang/core/util/fs/FileUtils.java | 18 ++++++++++++++++++
 .../apache/wayang/core/util/fs/HadoopFileSystem.java   | 18 ++++++++++++++++++
 .../apache/wayang/core/util/fs/LocalFileSystem.java    | 18 ++++++++++++++++++
 .../org/apache/wayang/core/util/mathex/Context.java    | 18 ++++++++++++++++++
 .../apache/wayang/core/util/mathex/DefaultContext.java | 18 ++++++++++++++++++
 .../org/apache/wayang/core/util/mathex/Expression.java | 18 ++++++++++++++++++
 .../wayang/core/util/mathex/ExpressionBuilder.java     | 18 ++++++++++++++++++
 .../util/mathex/exceptions/EvaluationException.java    | 18 ++++++++++++++++++
 .../core/util/mathex/exceptions/MathExException.java   | 18 ++++++++++++++++++
 .../core/util/mathex/exceptions/ParseException.java    | 18 ++++++++++++++++++
 .../wayang/core/util/mathex/model/BinaryOperation.java | 18 ++++++++++++++++++
 .../core/util/mathex/model/CompiledFunction.java       | 18 ++++++++++++++++++
 .../apache/wayang/core/util/mathex/model/Constant.java | 18 ++++++++++++++++++
 .../wayang/core/util/mathex/model/NamedFunction.java   | 18 ++++++++++++++++++
 .../wayang/core/util/mathex/model/UnaryOperation.java  | 18 ++++++++++++++++++
 .../apache/wayang/core/util/mathex/model/Variable.java | 18 ++++++++++++++++++
 .../src/test/java/org/apache/wayang/core/SlotTest.java | 18 ++++++++++++++++++
 .../wayang/core/mapping/OperatorPatternTest.java       | 18 ++++++++++++++++++
 .../wayang/core/mapping/PlanTransformationTest.java    | 18 ++++++++++++++++++
 .../apache/wayang/core/mapping/SubplanPatternTest.java | 18 ++++++++++++++++++
 .../wayang/core/mapping/test/TestSinkMapping.java      | 18 ++++++++++++++++++
 .../core/mapping/test/TestSinkToTestSink2Factory.java  | 18 ++++++++++++++++++
 .../AggregatingCardinalityEstimatorTest.java           | 18 ++++++++++++++++++
 .../cardinality/DefaultCardinalityEstimatorTest.java   | 18 ++++++++++++++++++
 .../cardinality/LoopSubplanCardinalityPusherTest.java  | 18 ++++++++++++++++++
 .../cardinality/SubplanCardinalityPusherTest.java      | 18 ++++++++++++++++++
 .../optimizer/channels/ChannelConversionGraphTest.java | 18 ++++++++++++++++++
 .../costs/NestableLoadProfileEstimatorTest.java        | 18 ++++++++++++++++++
 .../enumeration/StageAssignmentTraversalTest.java      | 18 ++++++++++++++++++
 .../core/plan/executionplan/test/TestChannel.java      | 18 ++++++++++++++++++
 .../wayang/core/plan/wayangplan/LoopIsolatorTest.java  | 18 ++++++++++++++++++
 .../wayang/core/plan/wayangplan/OperatorTest.java      | 18 ++++++++++++++++++
 .../wayang/core/plan/wayangplan/SlotMappingTest.java   | 18 ++++++++++++++++++
 .../plan/wayangplan/test/TestCustomMapOperator.java    | 18 ++++++++++++++++++
 .../core/plan/wayangplan/test/TestFilterOperator.java  | 18 ++++++++++++++++++
 .../wayang/core/plan/wayangplan/test/TestJoin.java     | 18 ++++++++++++++++++
 .../wayang/core/plan/wayangplan/test/TestLoopHead.java | 18 ++++++++++++++++++
 .../core/plan/wayangplan/test/TestMapOperator.java     | 18 ++++++++++++++++++
 .../wayang/core/plan/wayangplan/test/TestSink.java     | 18 ++++++++++++++++++
 .../wayang/core/plan/wayangplan/test/TestSink2.java    | 18 ++++++++++++++++++
 .../wayang/core/plan/wayangplan/test/TestSource.java   | 18 ++++++++++++++++++
 .../wayang/core/platform/PartialExecutionTest.java     | 18 ++++++++++++++++++
 .../apache/wayang/core/plugin/DynamicPluginTest.java   | 18 ++++++++++++++++++
 .../wayang/core/test/DummyExecutionOperator.java       | 18 ++++++++++++++++++
 .../wayang/core/test/DummyExternalReusableChannel.java | 18 ++++++++++++++++++
 .../wayang/core/test/DummyNonReusableChannel.java      | 18 ++++++++++++++++++
 .../org/apache/wayang/core/test/DummyPlatform.java     | 18 ++++++++++++++++++
 .../apache/wayang/core/test/DummyReusableChannel.java  | 18 ++++++++++++++++++
 .../java/org/apache/wayang/core/test/MockFactory.java  | 18 ++++++++++++++++++
 .../core/test/SerializableDummyExecutionOperator.java  | 18 ++++++++++++++++++
 .../java/org/apache/wayang/core/test/TestDataUnit.java | 18 ++++++++++++++++++
 .../org/apache/wayang/core/test/TestDataUnit2.java     | 18 ++++++++++++++++++
 .../java/org/apache/wayang/core/util/BitmaskTest.java  | 18 ++++++++++++++++++
 .../wayang/core/util/ConsumerIteratorAdapterTest.java  | 18 ++++++++++++++++++
 .../wayang/core/util/CrossProductIterableTest.java     | 18 ++++++++++++++++++
 .../wayang/core/util/LimitedInputStreamTest.java       | 18 ++++++++++++++++++
 .../apache/wayang/core/util/ReflectionUtilsTest.java   | 18 ++++++++++++++++++
 .../apache/wayang/core/util/WayangCollectionsTest.java | 18 ++++++++++++++++++
 .../wayang/core/util/mathex/ExpressionBuilderTest.java | 18 ++++++++++++++++++
 .../apache/wayang/core/util/mathex/ExpressionTest.java | 18 ++++++++++++++++++
 257 files changed, 4619 insertions(+)

diff --git a/wayang-core/pom.xml b/wayang-core/pom.xml
index 915e1bf..4132a99 100644
--- a/wayang-core/pom.xml
+++ b/wayang-core/pom.xml
@@ -1,4 +1,15 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+    http://www.apache.org/licenses/LICENSE-2.0
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License. See accompanying LICENSE file.
+-->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
         <artifactId>wayang</artifactId>
diff --git a/wayang-core/src/main/antlr4/org/apache/wayang/core/mathex/MathEx.g4 b/wayang-core/src/main/antlr4/org/apache/wayang/core/mathex/MathEx.g4
index 7c480fd..8a5171c 100644
--- a/wayang-core/src/main/antlr4/org/apache/wayang/core/mathex/MathEx.g4
+++ b/wayang-core/src/main/antlr4/org/apache/wayang/core/mathex/MathEx.g4
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 grammar MathEx;
 
 options {
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/api/Configuration.java b/wayang-core/src/main/java/org/apache/wayang/core/api/Configuration.java
index 0cf57b8..d6a3ea9 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/api/Configuration.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/api/Configuration.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.api;
 
 import org.apache.commons.io.IOUtils;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/api/Job.java b/wayang-core/src/main/java/org/apache/wayang/core/api/Job.java
index a9935bc..c68a3f5 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/api/Job.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/api/Job.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.api;
 
 import de.hpi.isg.profiledb.instrumentation.StopWatch;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/api/WayangContext.java b/wayang-core/src/main/java/org/apache/wayang/core/api/WayangContext.java
index 4ae3d4c..f30d31e 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/api/WayangContext.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/api/WayangContext.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.api;
 
 import de.hpi.isg.profiledb.store.model.Experiment;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/CollectionProvider.java b/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/CollectionProvider.java
index 31c6a26..4c370a6 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/CollectionProvider.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/CollectionProvider.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.api.configuration;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/ConstantValueProvider.java b/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/ConstantValueProvider.java
index a8db06d..1b0215d 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/ConstantValueProvider.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/ConstantValueProvider.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.api.configuration;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/ExplicitCollectionProvider.java b/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/ExplicitCollectionProvider.java
index b2e1ac6..32a5cdf 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/ExplicitCollectionProvider.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/ExplicitCollectionProvider.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.api.configuration;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/FunctionalCollectionProvider.java b/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/FunctionalCollectionProvider.java
index aefa902..d18211a 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/FunctionalCollectionProvider.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/FunctionalCollectionProvider.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.api.configuration;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/FunctionalKeyValueProvider.java b/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/FunctionalKeyValueProvider.java
index c133ada..a567ab6 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/FunctionalKeyValueProvider.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/FunctionalKeyValueProvider.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.api.configuration;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/FunctionalValueProvider.java b/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/FunctionalValueProvider.java
index 5c704db..d861290 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/FunctionalValueProvider.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/FunctionalValueProvider.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.api.configuration;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/KeyValueProvider.java b/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/KeyValueProvider.java
index 574f404..071d76f 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/KeyValueProvider.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/KeyValueProvider.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.api.configuration;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/MapBasedKeyValueProvider.java b/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/MapBasedKeyValueProvider.java
index 1f50fdb..96881d9 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/MapBasedKeyValueProvider.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/MapBasedKeyValueProvider.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.api.configuration;
 
 import org.apache.commons.lang3.Validate;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/ValueProvider.java b/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/ValueProvider.java
index 7723064..17b0870 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/ValueProvider.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/ValueProvider.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.api.configuration;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/api/exception/WayangException.java b/wayang-core/src/main/java/org/apache/wayang/core/api/exception/WayangException.java
index 92910a4..ed03953 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/api/exception/WayangException.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/api/exception/WayangException.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.api.exception;
 
 /**
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/function/AggregationDescriptor.java b/wayang-core/src/main/java/org/apache/wayang/core/function/AggregationDescriptor.java
index 91ea506..b1a6c4a 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/function/AggregationDescriptor.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/function/AggregationDescriptor.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.function;
 
 import org.apache.wayang.core.optimizer.costs.LoadEstimator;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/function/ConsumerDescriptor.java b/wayang-core/src/main/java/org/apache/wayang/core/function/ConsumerDescriptor.java
index cc4c1ad..83221bd 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/function/ConsumerDescriptor.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/function/ConsumerDescriptor.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.function;
 
 import org.apache.wayang.core.optimizer.ProbabilisticDoubleInterval;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/function/ExecutionContext.java b/wayang-core/src/main/java/org/apache/wayang/core/function/ExecutionContext.java
index bd86a61..a870ef0 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/function/ExecutionContext.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/function/ExecutionContext.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.function;
 
 import org.apache.wayang.core.plan.wayangplan.LoopSubplan;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/function/ExtendedFunction.java b/wayang-core/src/main/java/org/apache/wayang/core/function/ExtendedFunction.java
index c95e45a..808dcd0 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/function/ExtendedFunction.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/function/ExtendedFunction.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.function;
 
 import org.apache.wayang.core.plan.wayangplan.Operator;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/function/FlatMapDescriptor.java b/wayang-core/src/main/java/org/apache/wayang/core/function/FlatMapDescriptor.java
index a4d2fa1..948af92 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/function/FlatMapDescriptor.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/function/FlatMapDescriptor.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.function;
 
 import org.apache.wayang.core.optimizer.ProbabilisticDoubleInterval;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/function/FunctionDescriptor.java b/wayang-core/src/main/java/org/apache/wayang/core/function/FunctionDescriptor.java
index 1253d08..18d13e0 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/function/FunctionDescriptor.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/function/FunctionDescriptor.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.function;
 
 import org.apache.wayang.core.optimizer.ProbabilisticDoubleInterval;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/function/MapPartitionsDescriptor.java b/wayang-core/src/main/java/org/apache/wayang/core/function/MapPartitionsDescriptor.java
index 9c361dc..d93833c 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/function/MapPartitionsDescriptor.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/function/MapPartitionsDescriptor.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.function;
 
 import org.apache.wayang.core.optimizer.ProbabilisticDoubleInterval;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/function/PredicateDescriptor.java b/wayang-core/src/main/java/org/apache/wayang/core/function/PredicateDescriptor.java
index 18f8334..6b90e27 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/function/PredicateDescriptor.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/function/PredicateDescriptor.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.function;
 
 import org.apache.wayang.core.optimizer.ProbabilisticDoubleInterval;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/function/ReduceDescriptor.java b/wayang-core/src/main/java/org/apache/wayang/core/function/ReduceDescriptor.java
index fd29548..0bd3853 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/function/ReduceDescriptor.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/function/ReduceDescriptor.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.function;
 
 import org.apache.wayang.core.optimizer.costs.LoadEstimator;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/function/TransformationDescriptor.java b/wayang-core/src/main/java/org/apache/wayang/core/function/TransformationDescriptor.java
index e295f25..3de70e7 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/function/TransformationDescriptor.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/function/TransformationDescriptor.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.function;
 
 import org.apache.wayang.core.optimizer.costs.LoadEstimator;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/mapping/Mapping.java b/wayang-core/src/main/java/org/apache/wayang/core/mapping/Mapping.java
index e8769f4..194da2b 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/mapping/Mapping.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/mapping/Mapping.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.mapping;
 
 import java.util.Collection;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/mapping/OperatorMatch.java b/wayang-core/src/main/java/org/apache/wayang/core/mapping/OperatorMatch.java
index 917e68e..9dcb4e5 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/mapping/OperatorMatch.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/mapping/OperatorMatch.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.mapping;
 
 import org.apache.wayang.core.plan.wayangplan.Operator;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/mapping/OperatorPattern.java b/wayang-core/src/main/java/org/apache/wayang/core/mapping/OperatorPattern.java
index 63deae3..03de5b2 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/mapping/OperatorPattern.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/mapping/OperatorPattern.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.mapping;
 
 import org.apache.wayang.core.plan.wayangplan.InputSlot;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/mapping/PlanTransformation.java b/wayang-core/src/main/java/org/apache/wayang/core/mapping/PlanTransformation.java
index d777723..1bb0448 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/mapping/PlanTransformation.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/mapping/PlanTransformation.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.mapping;
 
 import org.apache.wayang.core.plan.wayangplan.InputSlot;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/mapping/ReplacementSubplanFactory.java b/wayang-core/src/main/java/org/apache/wayang/core/mapping/ReplacementSubplanFactory.java
index 181ddc6..9315f65 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/mapping/ReplacementSubplanFactory.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/mapping/ReplacementSubplanFactory.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.mapping;
 
 import org.apache.commons.lang3.Validate;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/mapping/SubplanMatch.java b/wayang-core/src/main/java/org/apache/wayang/core/mapping/SubplanMatch.java
index 345ba35..5f100b3 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/mapping/SubplanMatch.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/mapping/SubplanMatch.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.mapping;
 
 import org.apache.wayang.core.plan.wayangplan.Operator;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/mapping/SubplanPattern.java b/wayang-core/src/main/java/org/apache/wayang/core/mapping/SubplanPattern.java
index 4349d5f..a53065d 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/mapping/SubplanPattern.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/mapping/SubplanPattern.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.mapping;
 
 import org.apache.commons.lang3.Validate;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/monitor/DisabledMonitor.java b/wayang-core/src/main/java/org/apache/wayang/core/monitor/DisabledMonitor.java
index ec20bb5..ebb598b 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/monitor/DisabledMonitor.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/monitor/DisabledMonitor.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.monitor;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/monitor/FileMonitor.java b/wayang-core/src/main/java/org/apache/wayang/core/monitor/FileMonitor.java
index 7e427e1..f6e6998 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/monitor/FileMonitor.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/monitor/FileMonitor.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.monitor;
 
 
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/monitor/HttpMonitor.java b/wayang-core/src/main/java/org/apache/wayang/core/monitor/HttpMonitor.java
index 6f3b386..dda6335 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/monitor/HttpMonitor.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/monitor/HttpMonitor.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.monitor;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/monitor/Monitor.java b/wayang-core/src/main/java/org/apache/wayang/core/monitor/Monitor.java
index 9594faf..2d5e7c9 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/monitor/Monitor.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/monitor/Monitor.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.monitor;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/monitor/ZeroMQMonitor.java b/wayang-core/src/main/java/org/apache/wayang/core/monitor/ZeroMQMonitor.java
index e47ee5d..c031032 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/monitor/ZeroMQMonitor.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/monitor/ZeroMQMonitor.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.monitor;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/AggregateOptimizationContext.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/AggregateOptimizationContext.java
index faeec03..964d94a 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/AggregateOptimizationContext.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/AggregateOptimizationContext.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer;
 
 import org.apache.wayang.core.plan.wayangplan.LoopSubplan;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/DefaultOptimizationContext.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/DefaultOptimizationContext.java
index 738bdc1..187979d 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/DefaultOptimizationContext.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/DefaultOptimizationContext.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer;
 
 import org.apache.wayang.core.api.Job;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/OptimizationContext.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/OptimizationContext.java
index 75fc17e..2b6e673 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/OptimizationContext.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/OptimizationContext.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/OptimizationUtils.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/OptimizationUtils.java
index 9775c30..3f71b5d 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/OptimizationUtils.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/OptimizationUtils.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/ProbabilisticDoubleInterval.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/ProbabilisticDoubleInterval.java
index f29871d..66f7e20 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/ProbabilisticDoubleInterval.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/ProbabilisticDoubleInterval.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer;
 
 import java.util.Objects;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/ProbabilisticIntervalEstimate.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/ProbabilisticIntervalEstimate.java
index 58a0c5e..5e8a112 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/ProbabilisticIntervalEstimate.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/ProbabilisticIntervalEstimate.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer;
 
 import org.apache.wayang.core.util.Formats;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/SanityChecker.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/SanityChecker.java
index 834fe32..e7d3964 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/SanityChecker.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/SanityChecker.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer;
 
 import org.apache.wayang.core.plan.wayangplan.Operator;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/AbstractAlternativeCardinalityPusher.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/AbstractAlternativeCardinalityPusher.java
index 11a9912..f6b9a9d 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/AbstractAlternativeCardinalityPusher.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/AbstractAlternativeCardinalityPusher.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.cardinality;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/AggregatingCardinalityEstimator.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/AggregatingCardinalityEstimator.java
index 4d7e91c..7d404a1 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/AggregatingCardinalityEstimator.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/AggregatingCardinalityEstimator.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.cardinality;
 
 import org.apache.commons.lang3.Validate;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityEstimate.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityEstimate.java
index e8c528f..1bd5987 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityEstimate.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityEstimate.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.cardinality;
 
 import org.json.JSONObject;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityEstimationTraversal.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityEstimationTraversal.java
index be1f9b5..7dc5ae9 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityEstimationTraversal.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityEstimationTraversal.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.cardinality;
 
 import org.apache.commons.lang3.Validate;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityEstimator.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityEstimator.java
index 604ee5b..d95fb01 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityEstimator.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityEstimator.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.cardinality;
 
 import org.apache.wayang.core.optimizer.OptimizationContext;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityEstimatorManager.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityEstimatorManager.java
index fb1ad8f..ab935c0 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityEstimatorManager.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityEstimatorManager.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.cardinality;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityPusher.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityPusher.java
index dcf8bcb..a19ca72 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityPusher.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityPusher.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.cardinality;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/DefaultCardinalityEstimator.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/DefaultCardinalityEstimator.java
index 47b3ab4..7582261 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/DefaultCardinalityEstimator.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/DefaultCardinalityEstimator.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.cardinality;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/DefaultCardinalityPusher.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/DefaultCardinalityPusher.java
index 401c03f..c9f61f8 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/DefaultCardinalityPusher.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/DefaultCardinalityPusher.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.cardinality;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/FallbackCardinalityEstimator.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/FallbackCardinalityEstimator.java
index ea208f1..3cc0ab1 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/FallbackCardinalityEstimator.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/FallbackCardinalityEstimator.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.cardinality;
 
 import org.apache.wayang.core.optimizer.OptimizationContext;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/FixedSizeCardinalityEstimator.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/FixedSizeCardinalityEstimator.java
index 9f7ab2c..771a675 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/FixedSizeCardinalityEstimator.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/FixedSizeCardinalityEstimator.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.cardinality;
 
 import org.apache.wayang.core.optimizer.OptimizationContext;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/LoopHeadAlternativeCardinalityPusher.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/LoopHeadAlternativeCardinalityPusher.java
index 7fb7807..67a1b7a 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/LoopHeadAlternativeCardinalityPusher.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/LoopHeadAlternativeCardinalityPusher.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.cardinality;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/LoopSubplanCardinalityPusher.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/LoopSubplanCardinalityPusher.java
index 8c06311..4834bc2 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/LoopSubplanCardinalityPusher.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/LoopSubplanCardinalityPusher.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.cardinality;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/OperatorAlternativeCardinalityPusher.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/OperatorAlternativeCardinalityPusher.java
index ccd21b6..d5886fc 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/OperatorAlternativeCardinalityPusher.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/OperatorAlternativeCardinalityPusher.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.cardinality;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/SubplanCardinalityPusher.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/SubplanCardinalityPusher.java
index 1537da5..50184bc 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/SubplanCardinalityPusher.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/SubplanCardinalityPusher.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.cardinality;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/SwitchForwardCardinalityEstimator.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/SwitchForwardCardinalityEstimator.java
index 3e4e1c1..b91fd8c 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/SwitchForwardCardinalityEstimator.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/SwitchForwardCardinalityEstimator.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.cardinality;
 
 import org.apache.wayang.core.optimizer.OptimizationContext;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/channels/ChannelConversion.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/channels/ChannelConversion.java
index 51e4c9f..95590a8 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/channels/ChannelConversion.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/channels/ChannelConversion.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.channels;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/channels/ChannelConversionGraph.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/channels/ChannelConversionGraph.java
index a6e4c45..d30d163 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/channels/ChannelConversionGraph.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/channels/ChannelConversionGraph.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.channels;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/channels/DefaultChannelConversion.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/channels/DefaultChannelConversion.java
index 7a1dafc..d4c97a8 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/channels/DefaultChannelConversion.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/channels/DefaultChannelConversion.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.channels;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/ConstantLoadProfileEstimator.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/ConstantLoadProfileEstimator.java
index e77ce03..84150e7 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/ConstantLoadProfileEstimator.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/ConstantLoadProfileEstimator.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.costs;
 
 import java.util.Collection;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/DefaultLoadEstimator.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/DefaultLoadEstimator.java
index b52d756..775129e 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/DefaultLoadEstimator.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/DefaultLoadEstimator.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.costs;
 
 import org.apache.commons.lang3.Validate;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/EstimationContext.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/EstimationContext.java
index 83f8fb1..b990ba9 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/EstimationContext.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/EstimationContext.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.costs;
 
 import org.json.JSONObject;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/IntervalLoadEstimator.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/IntervalLoadEstimator.java
index 1cd0402..2d7d697 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/IntervalLoadEstimator.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/IntervalLoadEstimator.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.costs;
 
 import org.apache.commons.lang3.Validate;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadEstimate.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadEstimate.java
index 722de22..8453d87 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadEstimate.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadEstimate.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.costs;
 
 import org.json.JSONObject;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadEstimator.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadEstimator.java
index 12aa25b..0f07067 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadEstimator.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadEstimator.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.costs;
 
 import org.apache.wayang.core.function.FunctionDescriptor;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadProfile.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadProfile.java
index 6f48836..b367589 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadProfile.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadProfile.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.costs;
 
 import org.json.JSONObject;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadProfileEstimator.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadProfileEstimator.java
index 20653cb..1eb2dc3 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadProfileEstimator.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadProfileEstimator.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.costs;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadProfileEstimators.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadProfileEstimators.java
index 67ebaff..2be8675 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadProfileEstimators.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadProfileEstimators.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.costs;
 
 import org.json.JSONObject;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadProfileToTimeConverter.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadProfileToTimeConverter.java
index 002a1a7..c74890f 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadProfileToTimeConverter.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadProfileToTimeConverter.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.costs;
 
 import java.util.Objects;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadToTimeConverter.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadToTimeConverter.java
index 45ad79a..ea504d7 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadToTimeConverter.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/LoadToTimeConverter.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.costs;
 
 /**
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/NestableLoadProfileEstimator.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/NestableLoadProfileEstimator.java
index aae81bb..7bd64c2 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/NestableLoadProfileEstimator.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/NestableLoadProfileEstimator.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.costs;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/SimpleEstimationContext.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/SimpleEstimationContext.java
index 619bb1a..bd2367b 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/SimpleEstimationContext.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/SimpleEstimationContext.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.costs;
 
 import gnu.trove.map.TObjectDoubleMap;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/TimeEstimate.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/TimeEstimate.java
index 93d1168..56bfd55 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/TimeEstimate.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/TimeEstimate.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.costs;
 
 import org.apache.wayang.core.optimizer.ProbabilisticIntervalEstimate;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/TimeToCostConverter.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/TimeToCostConverter.java
index 122ca38..4133e2c 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/TimeToCostConverter.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/costs/TimeToCostConverter.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.costs;
 
 import org.apache.wayang.core.optimizer.ProbabilisticDoubleInterval;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/ExecutionTaskFlow.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/ExecutionTaskFlow.java
index 0e0a9ee..9d80676 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/ExecutionTaskFlow.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/ExecutionTaskFlow.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.enumeration;
 
 import org.apache.wayang.core.plan.executionplan.Channel;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/ExecutionTaskFlowCompiler.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/ExecutionTaskFlowCompiler.java
index 1c06756..04974af 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/ExecutionTaskFlowCompiler.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/ExecutionTaskFlowCompiler.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.enumeration;
 
 import org.apache.wayang.core.optimizer.OptimizationUtils;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/LatentOperatorPruningStrategy.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/LatentOperatorPruningStrategy.java
index 298f4d1..8d8ec6f 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/LatentOperatorPruningStrategy.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/LatentOperatorPruningStrategy.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.enumeration;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/LoopEnumerator.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/LoopEnumerator.java
index 3fdfcd7..2b106f7 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/LoopEnumerator.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/LoopEnumerator.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.enumeration;
 
 import org.apache.wayang.core.optimizer.OptimizationContext;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/LoopImplementation.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/LoopImplementation.java
index 99f4040..57416fa 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/LoopImplementation.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/LoopImplementation.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.enumeration;
 
 import org.apache.wayang.core.optimizer.ProbabilisticDoubleInterval;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanEnumeration.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanEnumeration.java
index 529f93c..f1f4075 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanEnumeration.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanEnumeration.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.enumeration;
 
 import de.hpi.isg.profiledb.store.model.TimeMeasurement;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanEnumerationPruningStrategy.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanEnumerationPruningStrategy.java
index a4245d5..a3965f2 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanEnumerationPruningStrategy.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanEnumerationPruningStrategy.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.enumeration;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanEnumerator.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanEnumerator.java
index 0c624c4..19039ad 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanEnumerator.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanEnumerator.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.enumeration;
 
 import de.hpi.isg.profiledb.store.model.TimeMeasurement;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanImplementation.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanImplementation.java
index b469932..033b23e 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanImplementation.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanImplementation.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.enumeration;
 
 import org.apache.commons.lang3.Validate;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/RandomPruningStrategy.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/RandomPruningStrategy.java
index 3a2ffb4..c10eb32 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/RandomPruningStrategy.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/RandomPruningStrategy.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.enumeration;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/SinglePlatformPruningStrategy.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/SinglePlatformPruningStrategy.java
index 395f663..4d04261 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/SinglePlatformPruningStrategy.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/SinglePlatformPruningStrategy.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.enumeration;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/StageAssignmentTraversal.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/StageAssignmentTraversal.java
index 010eea2..d24b514 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/StageAssignmentTraversal.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/StageAssignmentTraversal.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.enumeration;
 
 import org.apache.commons.lang3.Validate;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/TopKPruningStrategy.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/TopKPruningStrategy.java
index 9bf6868..a80f9d9 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/TopKPruningStrategy.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/TopKPruningStrategy.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.enumeration;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/partition/EnumerationAlternative.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/partition/EnumerationAlternative.java
index a864221..b44dff8 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/partition/EnumerationAlternative.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/partition/EnumerationAlternative.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.partition;
 
 /**
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/partition/EnumerationBranch.java b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/partition/EnumerationBranch.java
index a7587de..67bce68 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/optimizer/partition/EnumerationBranch.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/optimizer/partition/EnumerationBranch.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.partition;
 
 import org.apache.wayang.core.plan.executionplan.ExecutionPlan;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/Channel.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/Channel.java
index 73394aa..32b1dfe 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/Channel.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/Channel.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.executionplan;
 
 import org.apache.wayang.core.optimizer.OptimizationContext;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/ChannelInitializer.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/ChannelInitializer.java
index c183418..72c2753 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/ChannelInitializer.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/ChannelInitializer.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.executionplan;
 
 import org.apache.wayang.core.optimizer.OptimizationContext;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/ExecutionPlan.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/ExecutionPlan.java
index 282815e..e4acb05 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/ExecutionPlan.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/ExecutionPlan.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.executionplan;
 
 import org.apache.wayang.core.optimizer.enumeration.ExecutionTaskFlow;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/ExecutionStage.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/ExecutionStage.java
index 3b674a9..ced3433 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/ExecutionStage.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/ExecutionStage.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.executionplan;
 
 import org.apache.commons.lang3.Validate;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/ExecutionStageLoop.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/ExecutionStageLoop.java
index 18ddc21..b2b6e94 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/ExecutionStageLoop.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/ExecutionStageLoop.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.executionplan;
 
 import org.apache.wayang.core.plan.wayangplan.ExecutionOperator;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/ExecutionTask.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/ExecutionTask.java
index 8f2e72d..75e0cc0 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/ExecutionTask.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/ExecutionTask.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.executionplan;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/PlatformExecution.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/PlatformExecution.java
index ef222d3..877eba4 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/PlatformExecution.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/executionplan/PlatformExecution.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.executionplan;
 
 import org.apache.commons.lang3.Validate;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/ActualOperator.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/ActualOperator.java
index b631df1..e8ef8f8 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/ActualOperator.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/ActualOperator.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan;
 
 /**
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/BinaryToUnaryOperator.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/BinaryToUnaryOperator.java
index 322c55c..b9658ed 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/BinaryToUnaryOperator.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/BinaryToUnaryOperator.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan;
 
 import org.apache.wayang.core.types.DataSetType;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/CompositeOperator.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/CompositeOperator.java
index 7423203..c11c275 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/CompositeOperator.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/CompositeOperator.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan;
 
 import java.util.Collection;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/ElementaryOperator.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/ElementaryOperator.java
index f90f410..b56f05a 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/ElementaryOperator.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/ElementaryOperator.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan;
 
 import org.apache.commons.lang3.Validate;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/EstimationContextProperty.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/EstimationContextProperty.java
index 3a431e0..c64ac69 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/EstimationContextProperty.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/EstimationContextProperty.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan;
 
 import org.apache.wayang.core.optimizer.costs.EstimationContext;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/ExecutionOperator.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/ExecutionOperator.java
index f2da41a..c3b85ce 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/ExecutionOperator.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/ExecutionOperator.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/InputSlot.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/InputSlot.java
index 88f5d94..6713f48 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/InputSlot.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/InputSlot.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan;
 
 import org.apache.wayang.core.types.DataSetType;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopHeadAlternative.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopHeadAlternative.java
index f3e585e..70d9854 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopHeadAlternative.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopHeadAlternative.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopHeadOperator.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopHeadOperator.java
index c940030..5db5c24 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopHeadOperator.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopHeadOperator.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopIsolator.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopIsolator.java
index 0e30dfd..85d670f 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopIsolator.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopIsolator.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan;
 
 import org.apache.commons.lang3.Validate;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopSubplan.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopSubplan.java
index 9104ace..079d071 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopSubplan.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopSubplan.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/Operator.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/Operator.java
index 2a0efa9..5095342 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/Operator.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/Operator.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan;
 
 import org.apache.commons.lang3.Validate;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OperatorAlternative.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OperatorAlternative.java
index bc6a519..babad5d 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OperatorAlternative.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OperatorAlternative.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OperatorBase.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OperatorBase.java
index a349d2f..e351b49 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OperatorBase.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OperatorBase.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan;
 
 import com.google.gson.JsonDeserializationContext;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OperatorContainer.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OperatorContainer.java
index ae7b2f4..eb49ea8 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OperatorContainer.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OperatorContainer.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan;
 
 import org.apache.wayang.core.optimizer.OptimizationContext;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OperatorContainers.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OperatorContainers.java
index b61aff8..becd0a3 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OperatorContainers.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OperatorContainers.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan;
 
 import org.apache.commons.lang3.Validate;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/Operators.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/Operators.java
index 9952d5d..54992a2 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/Operators.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/Operators.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan;
 
 import java.util.Arrays;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OutputSlot.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OutputSlot.java
index 1619423..b9a0b91 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OutputSlot.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/OutputSlot.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan;
 
 import org.apache.wayang.core.types.DataSetType;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/PlanMetrics.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/PlanMetrics.java
index b32e5e1..a6f20f7 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/PlanMetrics.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/PlanMetrics.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan;
 
 import de.hpi.isg.profiledb.store.model.Measurement;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/PlanTraversal.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/PlanTraversal.java
index 0c618f1..c777097 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/PlanTraversal.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/PlanTraversal.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan;
 
 import org.slf4j.Logger;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/Slot.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/Slot.java
index 3d45915..93f1488 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/Slot.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/Slot.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan;
 
 import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimate;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/SlotMapping.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/SlotMapping.java
index fc337ef..0916222 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/SlotMapping.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/SlotMapping.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan;
 
 import org.apache.wayang.core.util.WayangCollections;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/Subplan.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/Subplan.java
index bbfc235..4954f37 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/Subplan.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/Subplan.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan;
 
 import org.apache.commons.lang3.Validate;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/TopDownPlanVisitor.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/TopDownPlanVisitor.java
index e24a4b1..f7a47c7 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/TopDownPlanVisitor.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/TopDownPlanVisitor.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan;
 
 import java.util.Optional;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/UnarySink.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/UnarySink.java
index 54e8669..ec8bf38 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/UnarySink.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/UnarySink.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan;
 
 import org.apache.wayang.core.types.DataSetType;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/UnarySource.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/UnarySource.java
index 0e9cccb..9896017 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/UnarySource.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/UnarySource.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan;
 
 import org.apache.wayang.core.types.DataSetType;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/UnaryToUnaryOperator.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/UnaryToUnaryOperator.java
index 5d56c29..8aa30a9 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/UnaryToUnaryOperator.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/UnaryToUnaryOperator.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan;
 
 import org.apache.wayang.core.types.DataSetType;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/WayangPlan.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/WayangPlan.java
index a1f36c6..60ea231 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/WayangPlan.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/WayangPlan.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan;
 
 import org.apache.commons.lang3.Validate;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/traversal/AbstractTopologicalTraversal.java b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/traversal/AbstractTopologicalTraversal.java
index b0e6ca1..df4f9d0 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/traversal/AbstractTopologicalTraversal.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/traversal/AbstractTopologicalTraversal.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan.traversal;
 
 import org.apache.wayang.core.api.exception.WayangException;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/platform/AbstractChannelInstance.java b/wayang-core/src/main/java/org/apache/wayang/core/platform/AbstractChannelInstance.java
index f6ac148..3e5aec0 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/platform/AbstractChannelInstance.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/platform/AbstractChannelInstance.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.platform;
 
 import org.apache.wayang.core.optimizer.OptimizationContext;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/platform/AtomicExecution.java b/wayang-core/src/main/java/org/apache/wayang/core/platform/AtomicExecution.java
index 9e1633b..d82aa1a 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/platform/AtomicExecution.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/platform/AtomicExecution.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.platform;
 
 import org.apache.commons.lang3.SerializationException;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/platform/AtomicExecutionGroup.java b/wayang-core/src/main/java/org/apache/wayang/core/platform/AtomicExecutionGroup.java
index 8940f14..a54511f 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/platform/AtomicExecutionGroup.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/platform/AtomicExecutionGroup.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.platform;
 
 import org.json.JSONObject;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/platform/Breakpoint.java b/wayang-core/src/main/java/org/apache/wayang/core/platform/Breakpoint.java
index 549f240..2256d30 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/platform/Breakpoint.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/platform/Breakpoint.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.platform;
 
 import org.apache.wayang.core.optimizer.OptimizationContext;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/platform/CardinalityBreakpoint.java b/wayang-core/src/main/java/org/apache/wayang/core/platform/CardinalityBreakpoint.java
index 0668e26..f13d631 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/platform/CardinalityBreakpoint.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/platform/CardinalityBreakpoint.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.platform;
 
 import org.apache.commons.lang3.Validate;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/platform/ChannelDescriptor.java b/wayang-core/src/main/java/org/apache/wayang/core/platform/ChannelDescriptor.java
index d93219a..618609c 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/platform/ChannelDescriptor.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/platform/ChannelDescriptor.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.platform;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/platform/ChannelInstance.java b/wayang-core/src/main/java/org/apache/wayang/core/platform/ChannelInstance.java
index ae311b7..b5a6fd5 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/platform/ChannelInstance.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/platform/ChannelInstance.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.platform;
 
 import org.apache.wayang.core.optimizer.OptimizationContext;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/platform/CompositeExecutionResource.java b/wayang-core/src/main/java/org/apache/wayang/core/platform/CompositeExecutionResource.java
index 1b8181e..3bdcca8 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/platform/CompositeExecutionResource.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/platform/CompositeExecutionResource.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.platform;
 
 /**
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/platform/ConjunctiveBreakpoint.java b/wayang-core/src/main/java/org/apache/wayang/core/platform/ConjunctiveBreakpoint.java
index 87b0cd1..6c35138 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/platform/ConjunctiveBreakpoint.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/platform/ConjunctiveBreakpoint.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.platform;
 
 import org.apache.wayang.core.optimizer.OptimizationContext;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/platform/CrossPlatformExecutor.java b/wayang-core/src/main/java/org/apache/wayang/core/platform/CrossPlatformExecutor.java
index ac14a15..1fa89f6 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/platform/CrossPlatformExecutor.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/platform/CrossPlatformExecutor.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.platform;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/platform/ExecutionResource.java b/wayang-core/src/main/java/org/apache/wayang/core/platform/ExecutionResource.java
index 4f258dd..70eed9d 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/platform/ExecutionResource.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/platform/ExecutionResource.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.platform;
 
 import org.apache.wayang.core.api.exception.WayangException;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/platform/ExecutionResourceTemplate.java b/wayang-core/src/main/java/org/apache/wayang/core/platform/ExecutionResourceTemplate.java
index 440023c..ce4f200 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/platform/ExecutionResourceTemplate.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/platform/ExecutionResourceTemplate.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.platform;
 
 import org.apache.wayang.core.api.exception.WayangException;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/platform/ExecutionState.java b/wayang-core/src/main/java/org/apache/wayang/core/platform/ExecutionState.java
index 7aeb77d..3cd987e 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/platform/ExecutionState.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/platform/ExecutionState.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.platform;
 
 import org.apache.wayang.core.optimizer.enumeration.ExecutionTaskFlow;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/platform/Executor.java b/wayang-core/src/main/java/org/apache/wayang/core/platform/Executor.java
index ce8b4f9..e818344 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/platform/Executor.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/platform/Executor.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.platform;
 
 import org.apache.wayang.core.api.Job;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/platform/ExecutorTemplate.java b/wayang-core/src/main/java/org/apache/wayang/core/platform/ExecutorTemplate.java
index f5bffbc..0839e29 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/platform/ExecutorTemplate.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/platform/ExecutorTemplate.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.platform;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/platform/FixBreakpoint.java b/wayang-core/src/main/java/org/apache/wayang/core/platform/FixBreakpoint.java
index f090372..f6fb93d 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/platform/FixBreakpoint.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/platform/FixBreakpoint.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.platform;
 
 import org.apache.wayang.core.optimizer.OptimizationContext;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/platform/Junction.java b/wayang-core/src/main/java/org/apache/wayang/core/platform/Junction.java
index 4001854..15bd646 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/platform/Junction.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/platform/Junction.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.platform;
 
 import org.apache.wayang.core.optimizer.OptimizationContext;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/platform/NoIterationBreakpoint.java b/wayang-core/src/main/java/org/apache/wayang/core/platform/NoIterationBreakpoint.java
index cfcee18..9cc61e8 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/platform/NoIterationBreakpoint.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/platform/NoIterationBreakpoint.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.platform;
 
 import org.apache.wayang.core.optimizer.OptimizationContext;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/platform/PartialExecution.java b/wayang-core/src/main/java/org/apache/wayang/core/platform/PartialExecution.java
index d4b3a67..eeae2d8 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/platform/PartialExecution.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/platform/PartialExecution.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.platform;
 
 import org.json.JSONObject;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/platform/Platform.java b/wayang-core/src/main/java/org/apache/wayang/core/platform/Platform.java
index 4624da9..9862865 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/platform/Platform.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/platform/Platform.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.platform;
 
 import org.json.JSONObject;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/platform/PushExecutorTemplate.java b/wayang-core/src/main/java/org/apache/wayang/core/platform/PushExecutorTemplate.java
index e66b798..f46ae71 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/platform/PushExecutorTemplate.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/platform/PushExecutorTemplate.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.platform;
 
 import org.apache.wayang.core.api.Job;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/platform/lineage/ChannelLineageNode.java b/wayang-core/src/main/java/org/apache/wayang/core/platform/lineage/ChannelLineageNode.java
index cb0c19b..323871d 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/platform/lineage/ChannelLineageNode.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/platform/lineage/ChannelLineageNode.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.platform.lineage;
 
 import org.apache.wayang.core.platform.ChannelInstance;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/platform/lineage/ExecutionLineageNode.java b/wayang-core/src/main/java/org/apache/wayang/core/platform/lineage/ExecutionLineageNode.java
index 902c43f..7d91f7a 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/platform/lineage/ExecutionLineageNode.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/platform/lineage/ExecutionLineageNode.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.platform.lineage;
 
 import org.apache.wayang.core.optimizer.OptimizationContext;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/platform/lineage/LazyExecutionLineageNode.java b/wayang-core/src/main/java/org/apache/wayang/core/platform/lineage/LazyExecutionLineageNode.java
index 4947af1..c5a26eb 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/platform/lineage/LazyExecutionLineageNode.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/platform/lineage/LazyExecutionLineageNode.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.platform.lineage;
 
 import org.apache.wayang.core.platform.ChannelInstance;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plugin/DynamicPlugin.java b/wayang-core/src/main/java/org/apache/wayang/core/plugin/DynamicPlugin.java
index 63fe202..c0d7695 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plugin/DynamicPlugin.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plugin/DynamicPlugin.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plugin;
 
 import org.apache.commons.lang3.Validate;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/plugin/Plugin.java b/wayang-core/src/main/java/org/apache/wayang/core/plugin/Plugin.java
index e4da914..a714588 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/plugin/Plugin.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/plugin/Plugin.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plugin;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/profiling/CardinalityRepository.java b/wayang-core/src/main/java/org/apache/wayang/core/profiling/CardinalityRepository.java
index c6e0e62..6f24525 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/profiling/CardinalityRepository.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/profiling/CardinalityRepository.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.profiling;
 
 import org.apache.commons.io.IOUtils;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/profiling/CostMeasurement.java b/wayang-core/src/main/java/org/apache/wayang/core/profiling/CostMeasurement.java
index 21c9836..e7b1199 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/profiling/CostMeasurement.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/profiling/CostMeasurement.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.profiling;
 
 import de.hpi.isg.profiledb.store.model.Measurement;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/profiling/ExecutionLog.java b/wayang-core/src/main/java/org/apache/wayang/core/profiling/ExecutionLog.java
index 23ceefa..a4eea50 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/profiling/ExecutionLog.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/profiling/ExecutionLog.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.profiling;
 
 import org.apache.commons.io.IOUtils;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/profiling/ExecutionPlanMeasurement.java b/wayang-core/src/main/java/org/apache/wayang/core/profiling/ExecutionPlanMeasurement.java
index a167dc1..679797f 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/profiling/ExecutionPlanMeasurement.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/profiling/ExecutionPlanMeasurement.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.profiling;
 
 import de.hpi.isg.profiledb.store.model.Measurement;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/profiling/FullInstrumentationStrategy.java b/wayang-core/src/main/java/org/apache/wayang/core/profiling/FullInstrumentationStrategy.java
index f316fa1..a90cb0d 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/profiling/FullInstrumentationStrategy.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/profiling/FullInstrumentationStrategy.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.profiling;
 
 import org.apache.wayang.core.plan.executionplan.Channel;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/profiling/InstrumentationStrategy.java b/wayang-core/src/main/java/org/apache/wayang/core/profiling/InstrumentationStrategy.java
index d3ae331..73d4f2a 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/profiling/InstrumentationStrategy.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/profiling/InstrumentationStrategy.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.profiling;
 
 import org.apache.wayang.core.plan.executionplan.Channel;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/profiling/NoInstrumentationStrategy.java b/wayang-core/src/main/java/org/apache/wayang/core/profiling/NoInstrumentationStrategy.java
index c3f7ac8..9a69120 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/profiling/NoInstrumentationStrategy.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/profiling/NoInstrumentationStrategy.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.profiling;
 
 import org.apache.wayang.core.plan.executionplan.Channel;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/profiling/OutboundInstrumentationStrategy.java b/wayang-core/src/main/java/org/apache/wayang/core/profiling/OutboundInstrumentationStrategy.java
index 4677882..c7ce5a8 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/profiling/OutboundInstrumentationStrategy.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/profiling/OutboundInstrumentationStrategy.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.profiling;
 
 import org.apache.wayang.core.plan.executionplan.Channel;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/profiling/PartialExecutionMeasurement.java b/wayang-core/src/main/java/org/apache/wayang/core/profiling/PartialExecutionMeasurement.java
index b0ed1e1..3320f9f 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/profiling/PartialExecutionMeasurement.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/profiling/PartialExecutionMeasurement.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.profiling;
 
 import de.hpi.isg.profiledb.store.model.Measurement;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/profiling/ProfileDBs.java b/wayang-core/src/main/java/org/apache/wayang/core/profiling/ProfileDBs.java
index 59426ec..6e4bc85 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/profiling/ProfileDBs.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/profiling/ProfileDBs.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.profiling;
 
 import de.hpi.isg.profiledb.ProfileDB;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/types/BasicDataUnitType.java b/wayang-core/src/main/java/org/apache/wayang/core/types/BasicDataUnitType.java
index 00ec5e5..c4082e6 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/types/BasicDataUnitType.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/types/BasicDataUnitType.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.types;
 
 import java.util.Objects;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/types/DataSetType.java b/wayang-core/src/main/java/org/apache/wayang/core/types/DataSetType.java
index 3132330..cc409a8 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/types/DataSetType.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/types/DataSetType.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.types;
 
 import org.apache.wayang.core.util.ReflectionUtils;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/types/DataUnitGroupType.java b/wayang-core/src/main/java/org/apache/wayang/core/types/DataUnitGroupType.java
index 8739ab8..af8904e 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/types/DataUnitGroupType.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/types/DataUnitGroupType.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.types;
 
 import org.apache.wayang.core.util.ReflectionUtils;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/types/DataUnitType.java b/wayang-core/src/main/java/org/apache/wayang/core/types/DataUnitType.java
index ebc360a..9ae091a 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/types/DataUnitType.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/types/DataUnitType.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.types;
 
 /**
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/AbstractReferenceCountable.java b/wayang-core/src/main/java/org/apache/wayang/core/util/AbstractReferenceCountable.java
index f45d4f4..5c8fc3e 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/AbstractReferenceCountable.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/AbstractReferenceCountable.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util;
 
 import org.slf4j.Logger;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/Action.java b/wayang-core/src/main/java/org/apache/wayang/core/util/Action.java
index d4942e4..f2e958f 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/Action.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/Action.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util;
 
 import org.slf4j.LoggerFactory;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/Actions.java b/wayang-core/src/main/java/org/apache/wayang/core/util/Actions.java
index ead17b0..e87615a 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/Actions.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/Actions.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util;
 
 /**
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/Bitmask.java b/wayang-core/src/main/java/org/apache/wayang/core/util/Bitmask.java
index 52e3105..df75b4e 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/Bitmask.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/Bitmask.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util;
 
 import java.util.NoSuchElementException;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/Canonicalizer.java b/wayang-core/src/main/java/org/apache/wayang/core/util/Canonicalizer.java
index fdfa431..42f5674 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/Canonicalizer.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/Canonicalizer.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util;
 
 import java.util.Collection;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/ConsumerIteratorAdapter.java b/wayang-core/src/main/java/org/apache/wayang/core/util/ConsumerIteratorAdapter.java
index ec8f62d..ffcd154 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/ConsumerIteratorAdapter.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/ConsumerIteratorAdapter.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util;
 
 import java.util.ArrayList;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/Copyable.java b/wayang-core/src/main/java/org/apache/wayang/core/util/Copyable.java
index 0064a39..595eba3 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/Copyable.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/Copyable.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util;
 
 /**
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/Counter.java b/wayang-core/src/main/java/org/apache/wayang/core/util/Counter.java
index fec6161..148b6cf 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/Counter.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/Counter.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util;
 
 import java.util.HashMap;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/CrossProductIterable.java b/wayang-core/src/main/java/org/apache/wayang/core/util/CrossProductIterable.java
index cde789f..70cec03 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/CrossProductIterable.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/CrossProductIterable.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util;
 
 import java.util.ArrayList;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/Formats.java b/wayang-core/src/main/java/org/apache/wayang/core/util/Formats.java
index 2821640..7447f6c 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/Formats.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/Formats.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util;
 
 /**
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/Iterators.java b/wayang-core/src/main/java/org/apache/wayang/core/util/Iterators.java
index 06d4726..8a457d2 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/Iterators.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/Iterators.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util;
 
 import java.util.Iterator;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/JsonSerializable.java b/wayang-core/src/main/java/org/apache/wayang/core/util/JsonSerializable.java
index aab2010..97594b8 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/JsonSerializable.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/JsonSerializable.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util;
 
 import org.json.JSONObject;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/JsonSerializables.java b/wayang-core/src/main/java/org/apache/wayang/core/util/JsonSerializables.java
index fa2f139..1176ecd 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/JsonSerializables.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/JsonSerializables.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util;
 
 import org.apache.commons.lang3.SerializationException;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/JsonSerializer.java b/wayang-core/src/main/java/org/apache/wayang/core/util/JsonSerializer.java
index c0ddbbd..48a5447 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/JsonSerializer.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/JsonSerializer.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util;
 
 import org.apache.commons.lang3.SerializationException;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/JuelUtils.java b/wayang-core/src/main/java/org/apache/wayang/core/util/JuelUtils.java
index 443559d..1e1257d 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/JuelUtils.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/JuelUtils.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util;
 
 import de.odysseus.el.ExpressionFactoryImpl;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/LimitedInputStream.java b/wayang-core/src/main/java/org/apache/wayang/core/util/LimitedInputStream.java
index 48189f6..9e65993 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/LimitedInputStream.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/LimitedInputStream.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util;
 
 import java.io.IOException;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/Logging.java b/wayang-core/src/main/java/org/apache/wayang/core/util/Logging.java
index adff2f9..0b00553 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/Logging.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/Logging.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util;
 
 import org.slf4j.Logger;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/LruCache.java b/wayang-core/src/main/java/org/apache/wayang/core/util/LruCache.java
index d6d0789..0b87241 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/LruCache.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/LruCache.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util;
 
 import org.apache.commons.lang3.Validate;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/MultiMap.java b/wayang-core/src/main/java/org/apache/wayang/core/util/MultiMap.java
index 8c757fc..574d4ff 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/MultiMap.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/MultiMap.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util;
 
 import java.util.HashMap;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/OneTimeExecutable.java b/wayang-core/src/main/java/org/apache/wayang/core/util/OneTimeExecutable.java
index 4cf8980..41e0131 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/OneTimeExecutable.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/OneTimeExecutable.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util;
 
 import java.util.concurrent.atomic.AtomicBoolean;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/Optional.java b/wayang-core/src/main/java/org/apache/wayang/core/util/Optional.java
index b2d38e8..7e5c7a3 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/Optional.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/Optional.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util;
 
 import java.util.stream.Stream;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/ReferenceCountable.java b/wayang-core/src/main/java/org/apache/wayang/core/util/ReferenceCountable.java
index b50ef90..e8577c8 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/ReferenceCountable.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/ReferenceCountable.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util;
 
 /**
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/ReflectionUtils.java b/wayang-core/src/main/java/org/apache/wayang/core/util/ReflectionUtils.java
index 99fd519..d7ee580 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/ReflectionUtils.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/ReflectionUtils.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util;
 
 import org.apache.commons.lang3.Validate;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/Tuple.java b/wayang-core/src/main/java/org/apache/wayang/core/util/Tuple.java
index f0321f5..cb6a317 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/Tuple.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/Tuple.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util;
 
 import java.util.Objects;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/WayangArrays.java b/wayang-core/src/main/java/org/apache/wayang/core/util/WayangArrays.java
index 30ef6fc..9600a1a 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/WayangArrays.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/WayangArrays.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util;
 
 import java.util.Arrays;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/WayangCollections.java b/wayang-core/src/main/java/org/apache/wayang/core/util/WayangCollections.java
index 964476f..5b3e891 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/WayangCollections.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/WayangCollections.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util;
 
 import org.apache.commons.lang3.Validate;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/fs/FileSystem.java b/wayang-core/src/main/java/org/apache/wayang/core/util/fs/FileSystem.java
index ddcd042..c789d6e 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/fs/FileSystem.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/fs/FileSystem.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util.fs;
 
 import java.io.FileNotFoundException;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/fs/FileSystems.java b/wayang-core/src/main/java/org/apache/wayang/core/util/fs/FileSystems.java
index 2f5ca3c..e3ebcb6 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/fs/FileSystems.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/fs/FileSystems.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util.fs;
 
 import org.apache.wayang.core.api.exception.WayangException;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/fs/FileUtils.java b/wayang-core/src/main/java/org/apache/wayang/core/util/fs/FileUtils.java
index 0112f52..85cc0da 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/fs/FileUtils.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/fs/FileUtils.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util.fs;
 
 import org.apache.commons.io.IOUtils;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/fs/HadoopFileSystem.java b/wayang-core/src/main/java/org/apache/wayang/core/util/fs/HadoopFileSystem.java
index 32349c0..ec5c28f 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/fs/HadoopFileSystem.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/fs/HadoopFileSystem.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util.fs;
 
 import org.apache.hadoop.conf.Configuration;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/fs/LocalFileSystem.java b/wayang-core/src/main/java/org/apache/wayang/core/util/fs/LocalFileSystem.java
index 7945ec3..4286372 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/fs/LocalFileSystem.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/fs/LocalFileSystem.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util.fs;
 
 import org.apache.wayang.core.api.exception.WayangException;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/Context.java b/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/Context.java
index c196d10..bd01fa5 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/Context.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/Context.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util.mathex;
 
 import org.apache.wayang.core.util.mathex.exceptions.EvaluationException;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/DefaultContext.java b/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/DefaultContext.java
index f59ec2b..0bea52c 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/DefaultContext.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/DefaultContext.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util.mathex;
 
 import org.apache.wayang.core.util.mathex.exceptions.EvaluationException;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/Expression.java b/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/Expression.java
index 3c62be2..c07e010 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/Expression.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/Expression.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util.mathex;
 
 
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/ExpressionBuilder.java b/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/ExpressionBuilder.java
index 0f5ed9c..6170be4 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/ExpressionBuilder.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/ExpressionBuilder.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util.mathex;
 
 import org.antlr.v4.runtime.ANTLRInputStream;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/exceptions/EvaluationException.java b/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/exceptions/EvaluationException.java
index d7a928f..a29d37c 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/exceptions/EvaluationException.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/exceptions/EvaluationException.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util.mathex.exceptions;
 
 
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/exceptions/MathExException.java b/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/exceptions/MathExException.java
index 8f28826..84ff7ee 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/exceptions/MathExException.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/exceptions/MathExException.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util.mathex.exceptions;
 
 import org.apache.wayang.core.util.mathex.Context;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/exceptions/ParseException.java b/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/exceptions/ParseException.java
index bf31ad3..110bacb 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/exceptions/ParseException.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/exceptions/ParseException.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util.mathex.exceptions;
 
 import org.apache.wayang.core.util.mathex.Context;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/model/BinaryOperation.java b/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/model/BinaryOperation.java
index a93935d..933afb0 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/model/BinaryOperation.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/model/BinaryOperation.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util.mathex.model;
 
 
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/model/CompiledFunction.java b/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/model/CompiledFunction.java
index 9ab835b..11455ab 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/model/CompiledFunction.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/model/CompiledFunction.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util.mathex.model;
 
 import org.apache.wayang.core.util.mathex.Context;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/model/Constant.java b/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/model/Constant.java
index 5f317f1..b51cb9f 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/model/Constant.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/model/Constant.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util.mathex.model;
 
 import org.apache.wayang.core.util.mathex.Context;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/model/NamedFunction.java b/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/model/NamedFunction.java
index f623f9b..9c26eb4 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/model/NamedFunction.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/model/NamedFunction.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util.mathex.model;
 
 import org.apache.wayang.core.util.mathex.Context;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/model/UnaryOperation.java b/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/model/UnaryOperation.java
index 5d70028..8d89a5e 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/model/UnaryOperation.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/model/UnaryOperation.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util.mathex.model;
 
 import org.apache.wayang.core.util.mathex.Context;
diff --git a/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/model/Variable.java b/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/model/Variable.java
index 5bc62d5..e007de9 100644
--- a/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/model/Variable.java
+++ b/wayang-core/src/main/java/org/apache/wayang/core/util/mathex/model/Variable.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util.mathex.model;
 
 
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/SlotTest.java b/wayang-core/src/test/java/org/apache/wayang/core/SlotTest.java
index b99a4f2..ebc8e8a 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/SlotTest.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/SlotTest.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core;
 
 import org.junit.Test;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/mapping/OperatorPatternTest.java b/wayang-core/src/test/java/org/apache/wayang/core/mapping/OperatorPatternTest.java
index 61fa6c2..1cc7101 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/mapping/OperatorPatternTest.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/mapping/OperatorPatternTest.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.mapping;
 
 import org.junit.Assert;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/mapping/PlanTransformationTest.java b/wayang-core/src/test/java/org/apache/wayang/core/mapping/PlanTransformationTest.java
index c2ce303..d98cbb8 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/mapping/PlanTransformationTest.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/mapping/PlanTransformationTest.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.mapping;
 
 import org.junit.Assert;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/mapping/SubplanPatternTest.java b/wayang-core/src/test/java/org/apache/wayang/core/mapping/SubplanPatternTest.java
index d4bf5d4..dec530b 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/mapping/SubplanPatternTest.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/mapping/SubplanPatternTest.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.mapping;
 
 import org.junit.Assert;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/mapping/test/TestSinkMapping.java b/wayang-core/src/test/java/org/apache/wayang/core/mapping/test/TestSinkMapping.java
index 422ef7d..8b57d34 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/mapping/test/TestSinkMapping.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/mapping/test/TestSinkMapping.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.mapping.test;
 
 import org.apache.wayang.core.mapping.Mapping;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/mapping/test/TestSinkToTestSink2Factory.java b/wayang-core/src/test/java/org/apache/wayang/core/mapping/test/TestSinkToTestSink2Factory.java
index 36f13c4..7ed7d1b 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/mapping/test/TestSinkToTestSink2Factory.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/mapping/test/TestSinkToTestSink2Factory.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.mapping.test;
 
 import org.apache.wayang.core.mapping.OperatorMatch;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/optimizer/cardinality/AggregatingCardinalityEstimatorTest.java b/wayang-core/src/test/java/org/apache/wayang/core/optimizer/cardinality/AggregatingCardinalityEstimatorTest.java
index 2952bc9..e72d942 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/optimizer/cardinality/AggregatingCardinalityEstimatorTest.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/optimizer/cardinality/AggregatingCardinalityEstimatorTest.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.cardinality;
 
 import org.junit.Assert;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/optimizer/cardinality/DefaultCardinalityEstimatorTest.java b/wayang-core/src/test/java/org/apache/wayang/core/optimizer/cardinality/DefaultCardinalityEstimatorTest.java
index 125906c..5ffc3ab 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/optimizer/cardinality/DefaultCardinalityEstimatorTest.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/optimizer/cardinality/DefaultCardinalityEstimatorTest.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.cardinality;
 
 import org.junit.Assert;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/optimizer/cardinality/LoopSubplanCardinalityPusherTest.java b/wayang-core/src/test/java/org/apache/wayang/core/optimizer/cardinality/LoopSubplanCardinalityPusherTest.java
index d9f8e8c..5a4583e 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/optimizer/cardinality/LoopSubplanCardinalityPusherTest.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/optimizer/cardinality/LoopSubplanCardinalityPusherTest.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.cardinality;
 
 import org.junit.Assert;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/optimizer/cardinality/SubplanCardinalityPusherTest.java b/wayang-core/src/test/java/org/apache/wayang/core/optimizer/cardinality/SubplanCardinalityPusherTest.java
index 4851318..60b194a 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/optimizer/cardinality/SubplanCardinalityPusherTest.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/optimizer/cardinality/SubplanCardinalityPusherTest.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.cardinality;
 
 import org.junit.Assert;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/optimizer/channels/ChannelConversionGraphTest.java b/wayang-core/src/test/java/org/apache/wayang/core/optimizer/channels/ChannelConversionGraphTest.java
index e35775f..7013c6c 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/optimizer/channels/ChannelConversionGraphTest.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/optimizer/channels/ChannelConversionGraphTest.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.channels;
 
 import org.junit.Assert;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/optimizer/costs/NestableLoadProfileEstimatorTest.java b/wayang-core/src/test/java/org/apache/wayang/core/optimizer/costs/NestableLoadProfileEstimatorTest.java
index f42da6f..707b9e5 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/optimizer/costs/NestableLoadProfileEstimatorTest.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/optimizer/costs/NestableLoadProfileEstimatorTest.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.costs;
 
 import gnu.trove.map.TObjectDoubleMap;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/optimizer/enumeration/StageAssignmentTraversalTest.java b/wayang-core/src/test/java/org/apache/wayang/core/optimizer/enumeration/StageAssignmentTraversalTest.java
index 6972506..9d3d2eb 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/optimizer/enumeration/StageAssignmentTraversalTest.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/optimizer/enumeration/StageAssignmentTraversalTest.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.optimizer.enumeration;
 
 import org.junit.Assert;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/plan/executionplan/test/TestChannel.java b/wayang-core/src/test/java/org/apache/wayang/core/plan/executionplan/test/TestChannel.java
index 1e8bec7..b721cf3 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/plan/executionplan/test/TestChannel.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/plan/executionplan/test/TestChannel.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.executionplan.test;
 
 import org.apache.wayang.core.optimizer.OptimizationContext;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/LoopIsolatorTest.java b/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/LoopIsolatorTest.java
index 78b4923..6eae428 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/LoopIsolatorTest.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/LoopIsolatorTest.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan;
 
 import org.junit.Assert;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/OperatorTest.java b/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/OperatorTest.java
index 400fb06..4018ee1 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/OperatorTest.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/OperatorTest.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan;
 
 import org.junit.Assert;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/SlotMappingTest.java b/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/SlotMappingTest.java
index 7b708bf..6659beb 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/SlotMappingTest.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/SlotMappingTest.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan;
 
 import org.junit.Assert;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestCustomMapOperator.java b/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestCustomMapOperator.java
index ba47384..3478968 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestCustomMapOperator.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestCustomMapOperator.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan.test;
 
 import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimator;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestFilterOperator.java b/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestFilterOperator.java
index 7713f5c..c05ad58 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestFilterOperator.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestFilterOperator.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan.test;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestJoin.java b/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestJoin.java
index fde6894..6c8424e 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestJoin.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestJoin.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan.test;
 
 
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestLoopHead.java b/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestLoopHead.java
index 569e03e..f938da9 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestLoopHead.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestLoopHead.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan.test;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestMapOperator.java b/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestMapOperator.java
index c2eb4d5..216f0a4 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestMapOperator.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestMapOperator.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan.test;
 
 import org.apache.commons.lang3.Validate;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestSink.java b/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestSink.java
index c4b410c..e934f31 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestSink.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestSink.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan.test;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestSink2.java b/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestSink2.java
index d0357e4..3c4f754 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestSink2.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestSink2.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan.test;
 
 import org.apache.wayang.core.plan.wayangplan.UnarySink;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestSource.java b/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestSource.java
index fb0dc62..06ea764 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestSource.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/plan/wayangplan/test/TestSource.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plan.wayangplan.test;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/platform/PartialExecutionTest.java b/wayang-core/src/test/java/org/apache/wayang/core/platform/PartialExecutionTest.java
index 5eecf51..0fc5f64 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/platform/PartialExecutionTest.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/platform/PartialExecutionTest.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.platform;
 
 import org.json.JSONObject;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/plugin/DynamicPluginTest.java b/wayang-core/src/test/java/org/apache/wayang/core/plugin/DynamicPluginTest.java
index 95fe9fa..6fd6b39 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/plugin/DynamicPluginTest.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/plugin/DynamicPluginTest.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.plugin;
 
 import org.junit.Assert;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/test/DummyExecutionOperator.java b/wayang-core/src/test/java/org/apache/wayang/core/test/DummyExecutionOperator.java
index 8feb034..ae3e7ec 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/test/DummyExecutionOperator.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/test/DummyExecutionOperator.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.test;
 
 import org.apache.wayang.core.plan.wayangplan.ExecutionOperator;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/test/DummyExternalReusableChannel.java b/wayang-core/src/test/java/org/apache/wayang/core/test/DummyExternalReusableChannel.java
index e91ac5d..97818de 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/test/DummyExternalReusableChannel.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/test/DummyExternalReusableChannel.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.test;
 
 import org.apache.wayang.core.optimizer.OptimizationContext;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/test/DummyNonReusableChannel.java b/wayang-core/src/test/java/org/apache/wayang/core/test/DummyNonReusableChannel.java
index a4c1f78..4270c43 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/test/DummyNonReusableChannel.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/test/DummyNonReusableChannel.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.test;
 
 import org.apache.wayang.core.optimizer.OptimizationContext;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/test/DummyPlatform.java b/wayang-core/src/test/java/org/apache/wayang/core/test/DummyPlatform.java
index 9df82eb..c1b381c 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/test/DummyPlatform.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/test/DummyPlatform.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.test;
 
 import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/test/DummyReusableChannel.java b/wayang-core/src/test/java/org/apache/wayang/core/test/DummyReusableChannel.java
index 6bfcd01..a9cda21 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/test/DummyReusableChannel.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/test/DummyReusableChannel.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.test;
 
 import org.apache.wayang.core.optimizer.OptimizationContext;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/test/MockFactory.java b/wayang-core/src/test/java/org/apache/wayang/core/test/MockFactory.java
index aea6d34..a125d21 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/test/MockFactory.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/test/MockFactory.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.test;
 
 import org.mockito.Answers;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/test/SerializableDummyExecutionOperator.java b/wayang-core/src/test/java/org/apache/wayang/core/test/SerializableDummyExecutionOperator.java
index 1e24127..4b60f15 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/test/SerializableDummyExecutionOperator.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/test/SerializableDummyExecutionOperator.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.test;
 
 import org.json.JSONObject;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/test/TestDataUnit.java b/wayang-core/src/test/java/org/apache/wayang/core/test/TestDataUnit.java
index d3c706f..d201f20 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/test/TestDataUnit.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/test/TestDataUnit.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.test;
 
 /**
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/test/TestDataUnit2.java b/wayang-core/src/test/java/org/apache/wayang/core/test/TestDataUnit2.java
index 4ceba99..fd9f743 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/test/TestDataUnit2.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/test/TestDataUnit2.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.test;
 
 /**
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/util/BitmaskTest.java b/wayang-core/src/test/java/org/apache/wayang/core/util/BitmaskTest.java
index 86fa38a..7fcbf48 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/util/BitmaskTest.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/util/BitmaskTest.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util;
 
 import org.junit.Assert;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/util/ConsumerIteratorAdapterTest.java b/wayang-core/src/test/java/org/apache/wayang/core/util/ConsumerIteratorAdapterTest.java
index 9f9ddd3..9384aaf 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/util/ConsumerIteratorAdapterTest.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/util/ConsumerIteratorAdapterTest.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util;
 
 import org.junit.Assert;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/util/CrossProductIterableTest.java b/wayang-core/src/test/java/org/apache/wayang/core/util/CrossProductIterableTest.java
index 1cf74dc..021d5c8 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/util/CrossProductIterableTest.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/util/CrossProductIterableTest.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util;
 
 import org.junit.Assert;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/util/LimitedInputStreamTest.java b/wayang-core/src/test/java/org/apache/wayang/core/util/LimitedInputStreamTest.java
index 4f5e1ef..f757d79 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/util/LimitedInputStreamTest.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/util/LimitedInputStreamTest.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util;
 
 import org.junit.Assert;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/util/ReflectionUtilsTest.java b/wayang-core/src/test/java/org/apache/wayang/core/util/ReflectionUtilsTest.java
index 3590c5e..380b250 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/util/ReflectionUtilsTest.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/util/ReflectionUtilsTest.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util;
 
 import org.junit.Assert;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/util/WayangCollectionsTest.java b/wayang-core/src/test/java/org/apache/wayang/core/util/WayangCollectionsTest.java
index 9ec01cc..210e831 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/util/WayangCollectionsTest.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/util/WayangCollectionsTest.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util;
 
 import org.junit.Assert;
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/util/mathex/ExpressionBuilderTest.java b/wayang-core/src/test/java/org/apache/wayang/core/util/mathex/ExpressionBuilderTest.java
index 60a68e5..bb6c6b4 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/util/mathex/ExpressionBuilderTest.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/util/mathex/ExpressionBuilderTest.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util.mathex;
 
 
diff --git a/wayang-core/src/test/java/org/apache/wayang/core/util/mathex/ExpressionTest.java b/wayang-core/src/test/java/org/apache/wayang/core/util/mathex/ExpressionTest.java
index b165c5a..b2ac236 100644
--- a/wayang-core/src/test/java/org/apache/wayang/core/util/mathex/ExpressionTest.java
+++ b/wayang-core/src/test/java/org/apache/wayang/core/util/mathex/ExpressionTest.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.wayang.core.util.mathex;
 
 import org.junit.Assert;