code: public int getType(int pathLength) {
          if (type == TYPE_INVALID || dataPath == null || pathLength >= dataPath.length)
              return TYPE_INVALID;
  
          if (pathLength == 1)
              return TYPE_MODULE;
          else
              return TYPE_COLLECTION;
      }
docs: This method should be rewritten if we allow arbitrary module structure