code: public DataDescriptor parentDescriptor() {
          if (type == TYPE_INVALID) {
              return null;
          } else if (dataIds != null) {
              return new DataDescriptor(dataPath);
          } else {
              if (dataPath.length == 1)
                  return null;
              String[] myPath = new String[dataPath.length - 1];
              System.arraycopy(dataPath, 0, myPath, 0, myPath.length);
              return new DataDescriptor(myPath);
          }
      }
docs: Returns the parentDescriptor