docs: function(props) {
              props = props || {};
              props.owner = props.owner || "";
  
              this.id             = props.calculationID;
              this.type           = props.calculationType;
              this.comment        = props.comment || null;
              this.editable       = props.editable;
              this.lineage        = props.owner.split(".");
              this.owner          = this.lineage[this.lineage.length - 1];
  
              this.outputFields = [];
              for (var i = 0; i < props.outputFields.length; i++) {
                  this.outputFields[props.outputFields[i].fieldName] = new root.DataModelField(props.outputFields[i]);
              }
  
              if ("Eval" === this.type || "Rex" === this.type) {
                  this.expression = props.expression;
              }
              if ("GeoIP" === this.type || "Rex" === this.type) {
                  this.inputField = props.inputField;
              }
              if ("Lookup" === this.type) {
                  this.lookupName = props.lookupName;
                  this.inputFieldMappings = props.lookupInputs[0];
              }
          }