private void addFetchedPaths(Path path, ObjectType type) {
   Root root = type.getRoot();
   if (root == null) {
     return;
   }
   ObjectMap om = root.getObjectMap(type);
   makePathLoadable(path, om.getFetchedPaths());
 }
 private static final Column getColumn(Property p) {
   Root root = SessionManager.getSession().getMetadataRoot().getRoot();
   ObjectMap om = root.getObjectMap(root.getObjectType(p.getContainer().getQualifiedName()));
   Mapping m = om.getMapping(Path.get(p.getName()));
   if (m instanceof Value) {
     return ((Value) m).getColumn();
   } else {
     return null;
   }
 }
  private void addDefaultProperties(Path path) {
    ObjectType type = getType(path);
    addFetchedPaths(path, type);

    if (!isSource(path)) {
      Root root = type.getRoot();
      Property prop = getProperty(path);
      // assume that path.getParent() is keyed
      ObjectMap container = root.getObjectMap(prop.getContainer());
      if (container != null) {
        makePathLoadable(path.getParent(), container.getDeclaredFetchedPaths());
      }
    }
  }