Buggy code:
public class OperationView extends AbstractView implements AsyncModelListener , IView { private static Logger logger = Logger . getLogger ( OperationView . class ) ; protected SPGraph graph ; protected SPGraphComponent graphComponent ; protected ViewData openedView ; private boolean changed = false ; private String startName ; protected mxGraphOutline outline = null ; JSplitPane pane ; private boolean isClosed ; private boolean isHidden ; public OperationView ( Model model , String name ) { } public void addGraphComponentListener ( MouseAdapter ma ) { } public OperationView ( Model model , ViewData view ) { } public JSplitPane getPane ( ) { } @ Override public void change ( Integer [ ] changedNodes ) { } public boolean isHidden ( ) { } public boolean isClosed ( ) { } public void setClosed ( boolean closed ) { } public void setHidden ( boolean hidden ) { } public boolean isChanged ( ) { } public void setChanged ( boolean changed ) { } public void updateName ( ) { } public void open ( TreeNode [ ] nodes ) { } private Cell nodeToCell ( TreeNode node ) { } private void open ( ViewData view ) { } public Cell open ( ViewData view , Cell cell ) { } @ Override public boolean closeView ( ) { } @ Override public void save ( boolean newSave , boolean saveView ) { } private void removeConditions ( ) { } private TreeNode [ ] setConditions ( TreeNode [ ] data ) { } private String getSaveName ( boolean newSave ) { } protected TreeNode [ ] convertToTreeData ( Cell cell ) { } protected TreeNode convertCelltoTreeNode ( Cell root ) { } private LinkedList < ViewData > convertToViewData ( Cell root ) { } private ViewData convertToViewData ( ViewData viewData , Cell root ) { } protected OperationData getPrecond ( Cell cell , OperationData d ) { Cell previousOperation = graph . getPreviousOperation ( cell ) ; Cell previousCell = graph . getNextCell ( cell , true ) ; Cell preGrpCell = graph . getNextCell ( cell , true , true ) ; try { if ( ( previousCell != null ) && ( previousCell . isGroup ( ) ) ) { LinkedList < Cell > cells = graph . getPreviousOperations ( previousCell ) ; <START_BUG> if ( previousCell . isParallel ( ) ) { <END_BUG> for ( Iterator < Cell > it = cells . iterator ( ) ; it . hasNext ( ) ; ) { Cell cg = it . next ( ) ; d . addAnd ( cg . getUniqueId ( ) , 2 ) ; } } else if ( previousCell . isAlternative ( ) ) { LinkedList < OperationData . SeqCond > cond = new LinkedList < OperationData . SeqCond > ( ) ; for ( Iterator < Cell > it = cells . iterator ( ) ; it . hasNext ( ) ; ) { Cell cg = it . next ( ) ; cond . add ( new SeqCond ( cg . getUniqueId ( ) , 2 ) ) ; } d . addOr ( cond ) ; } } else if ( ( preGrpCell != null ) && ( preGrpCell . isAlternative ( ) ) ) { getModel ( ) . createGroupVariable ( preGrpCell . getUniqueId ( ) ) ; d . addResourceBooking ( preGrpCell . getUniqueId ( ) ) ; if ( previousOperation != null ) { d . addAnd ( previousOperation . getUniqueId ( ) , 2 ) ; } } else if ( previousOperation != null ) { d . addAnd ( previousOperation . getUniqueId ( ) , 2 ) ; } } catch ( NullPointerException e ) { OperationView . logger . error ( ( "An<seq2seq4repair_space>null<seq2seq4repair_space>pointer<seq2seq4repair_space>was<seq2seq4repair_space>passed<seq2seq4repair_space>in<seq2seq4repair_space>getGraphicalPrecond,<seq2seq4repair_space>probably" + "<seq2seq4repair_space>was<seq2seq4repair_space>viewData<seq2seq4repair_space>=<seq2seq4repair_space>null" ) ) ; } return d ; } protected ViewData convertToViewData ( String name ) { } private void initPanels ( ) { } @ Override public Action createAction ( String name , ActionListener usedAction , String icon ) { } @ Override public JComponent getOutline ( ) { } public SPGraph getGraph ( ) { } public SPGraphComponent getGraphComponent ( ) { } public SPGraphModel getGraphModel ( ) { } public boolean isFreeView ( ) { } protected void validateResources ( ) { } public String getCellName ( String name , Cell node ) { } public void addmxIEventListener ( mxIEventListener l ) { } private void registerKeystrokes ( InputMap iMap , ActionMap aMap ) { } private void initVariables ( ) { } public ISopNode getSopNodeForGraph ( ) { } }

Fix:
if ( ( previousCell . isParallel ( ) ) || ( previousCell . isArbitrary ( ) ) ) {