Java FindBugs未经检查的铸造投诉

Java FindBugs未经检查的铸造投诉,java,findbugs,Java,Findbugs,考虑以下代码: public void broadcast(FacesEvent event) throws AbortProcessingException { if(!(event instanceof WrapperEvent)) { super.broadcast(event); return; } // Sets up the correct context and fire our wrapped event. G

考虑以下代码:

 public void broadcast(FacesEvent event)
    throws AbortProcessingException {

    if(!(event instanceof WrapperEvent)) {
      super.broadcast(event);
      return;
    }

    // Sets up the correct context and fire our wrapped event.
    GridWrapperEvent revent = (GridWrapperEvent)event; // FindBugs is complaining here 
    int oldRowIndex = getRowIndex();
    int oldColumnIndex = getColumnIndex();
    boolean oldClientIdRewritting = clientIdRewritting;
    setClientIdRewritting(revent.isClientIdRewritting());

    setActiveCell(revent.getRowIndex(), revent.getColumnIndex());

    FacesEvent rowEvent = revent.getFacesEvent();
    rowEvent.getComponent().broadcast(rowEvent);
    setActiveCell(oldRowIndex, oldColumnIndex);
    setClientIdRewritting(oldClientIdRewritting);
  }
正在抱怨评论的行。有什么我能做的吗?FindBugs是这么说的:

未经检查/未经确认的演员阵容 此强制转换未选中,并且不是全部 从中强制转换的类型的实例可以强制转换为当前的类型 投给。确保您的程序逻辑确保此强制转换将 没有失败

如果您知道
事件
将始终是
GridWrapperEvent
,则可以忽略该警告。否则,您可以将强制转换(以及取决于它的逻辑)封装在一个类似

if (event instanceof GridWrapperEvent) {
  // ...
}
事实上,您已经在这样做了,但是对于(我假设)更通用的
WrapperEvent
类。也许你可以修改这个检查,而不是添加一个新的检查