public void refreshFromDB(String newName) {
    if (_mainObject.getName().equals(newName)) {
      if (_mainObject instanceof ICatalogObject) {
        if (_mainObject instanceof SybaseASABaseUserDefinedType) {
          Schema schema = ((UserDefinedType) _mainObject).getSchema();
          // schema may lost
          if (schema == null) {
            _mainObject = null;
            return;
          }
        }
        ((ICatalogObject) _mainObject).refresh();
        return;
      }
    }

    if (!isModelExist()) {
      _mainObject = null;
      return;
    }

    boolean isFound = false;
    if (_mainObject instanceof SybaseASABaseUserDefinedType) {
      Schema schema = ((SybaseASABaseUserDefinedType) _mainObject).getSchema();
      // schema may lost
      if (schema != null) {
        //                DSEUtil.refreshObjectBySchema(schema, _mainObject);

        EList udds = schema.getUserDefinedTypes();
        for (Iterator iter = udds.iterator(); iter.hasNext(); ) {
          SybaseASABaseUserDefinedType asaUDD = (SybaseASABaseUserDefinedType) iter.next();
          if (asaUDD.getName().equals(_mainObject.getName())) {
            _mainObject = asaUDD;
            isFound = true;
            break;
          }
        }

        if (!isFound) {
          for (Iterator iter = udds.iterator(); iter.hasNext(); ) {
            SybaseASABaseUserDefinedType asaUDD = (SybaseASABaseUserDefinedType) iter.next();
            if (asaUDD.getName().equals(newName)) {
              _mainObject = asaUDD;
              isFound = true;
              break;
            }
          }
        }
      }
    }
    if (!isFound) {
      _mainObject = null;
    }
  }