public void aside( final AsideRequest request ){ PlaceholderMap placeholders = request.getLayout(); StackDockPerspective stack = new StackDockPerspective(); if( placeholders != null && stack.canRead( placeholders ) ){ stack.setPlaceholders( placeholders ); } if( stack.getItemCount() == 0 ){ insert( stack, request.getLocation() ); } int index = indexOf( stack, request.getLocation() ); if( index == -1 ){ index = stack.getDockableCount(); if( index == 0 ){ index = 1; } } else{ index++; } index = Math.min( stack.getItemCount(), index ); if( request.getPlaceholder() != null ){ stack.insertPlaceholder( index, request.getPlaceholder(), Level.BASE ); } request.answer( new StackDockProperty( index, request.getPlaceholder() ), stack.getPlaceholders() ); }