public synchronized BaseType createPointerType(final BaseType baseType) throws CouldntSaveDataException {
  Preconditions.checkNotNull(baseType,"IE02781: Base type can not be null.");
  if (baseType.pointedToBy() != null) {
    return baseType.pointedToBy();
  }
 else {
    final String newTypeName=BaseType.getPointerTypeName(baseType,baseType.getPointerLevel() + 1);
    final BaseType newType=instantiateType(newTypeName,getDefaultPointerSize(),false,baseType,BaseTypeCategory.POINTER);
    notifyTypeAdded(newType);
    return newType;
  }
}

public synchronized BaseType createPointerType ( final BaseType baseType ) throws CouldntSaveDataException { Preconditions . checkNotNull ( baseType , "IE02781: Base type can not be null." ) ; if ( baseType . pointedToBy ( ) != null ) { return baseType . pointedToBy ( ) ; } else { final String newTypeName = BaseType . getPointerTypeName ( baseType , baseType . getPointerLevel ( ) + 1 ) ; final BaseType newType = instantiateType ( newTypeName , getDefaultPointerSize ( ) , false , baseType , BaseTypeCategory . POINTER ) ; notifyTypeAdded ( newType ) ; return newType ; } }
creates a new pointer type relative to the given base type and inserts it into the pointer hierarchy . a new pointer type is only created if the given base type does not already have a parent pointer type .
