class FDB::Internal::Node

def exists?

def exists?
  !@subspace.nil?
end

def get_contents(directory_layer, tr=nil)

def get_contents(directory_layer, tr=nil)
  directory_layer.send(:contents_of_node, @subspace, @path, layer(tr))
end

def get_partition_subpath(tr=nil)

def get_partition_subpath(tr=nil)
  @target_path[@path.length..-1]
end

def initialize(subspace, path, target_path)

def initialize(subspace, path, target_path)
  @subspace = subspace
  @path = path
  @target_path = target_path
  @layer = nil
end

def is_in_partition?(tr=nil, include_empty_subpath=false)

def is_in_partition?(tr=nil, include_empty_subpath=false)
  exists? && 
    @layer == 'partition' && 
    (include_empty_subpath || @path.length < @target_path.length)
end

def layer(tr=nil)

def layer(tr=nil)
  if tr
    @layer = tr[@subspace['layer']]
  else
    raise 'Layer has not been read' unless @layer
  end
  @layer
end

def prefetch_metadata(tr)

def prefetch_metadata(tr)
  layer(tr) if exists?
  self
end