static void appendToPointerHierarchy(final BaseType type,final BaseType pointer){
  Preconditions.checkNotNull(type,"Error: type argument can not be null.");
  Preconditions.checkNotNull(pointer,"Error: pointer argument can not be null.");
  Preconditions.checkArgument(type != pointer,"Error: Can not establish pointer relation between identical types.");
  Preconditions.checkArgument(pointer.pointedToBy != type,"Error: Can not establish circular pointer relation.");
  Preconditions.checkArgument(type.pointsTo != pointer,"Error: Can not establish circular pointer relation.");
  pointer.pointsTo=type;
  type.pointedToBy=pointer;
}

static void appendToPointerHierarchy ( final BaseType type , final BaseType pointer ) { Preconditions . checkNotNull ( type , "Error: type argument can not be null." ) ; Preconditions . checkNotNull ( pointer , "Error: pointer argument can not be null." ) ; Preconditions . checkArgument ( type != pointer , "Error: Can not establish pointer relation between identical types." ) ; Preconditions . checkArgument ( pointer . pointedToBy != type , "Error: Can not establish circular pointer relation." ) ; Preconditions . checkArgument ( type . pointsTo != pointer , "Error: Can not establish circular pointer relation." ) ; pointer . pointsTo = type ; type . pointedToBy = pointer ; }
appends a base type to the pointer hierarchy just below parent , e . g . if type is an int then pointer must be an int * . the " bottom " element in this hierarchy is the value type , followed by the pointer types .
