code: function create(modulePath, moduleStack, options) {
  
          // first check the cache to see if we already loaded it
          if (this.cache[modulePath]) {
              return this.cache[modulePath];
          }
  
          var uipart = this.getUiPart(modulePath, options);
  
          // check if parent we want to merge with the parent
          if (uipart.parent) {
              var parts = modulePath.split(delim);
              parts[3] = uipart.parent + '.' + parts[2].substring(0, parts[2].length - 1);
              var parent = this.getUiPart(parts.join(delim), options);
              uipart = _.merge({}, parent, uipart);
              delete uipart.abstract;
          }
  
          this.cache[modulePath] = uipart;
          return uipart;
      }
docs: Find or create a flapjack based on a relative path from the project root
  @param modulePath
  @param moduleStack
  @param options
  @returns {{}}