Apache Apex (incubating)
Copyright (c) 2015 The Apache Software Foundation

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).


The initial developer of the original code is
DataTorrent, Inc. (http://www.datatorrent.com)
Copyright (c) 2012 - 2015. All Rights Reserved.
