Source:
<code>void setQuantity(int quantity) throws IllegalArgumentException; int getMaxStackQuantity(); ItemStackSnapshot createSnapshot(); @Override ItemStack copy(); interface Builder extends DataBuilder<ItemStack> { Builder itemType(ItemType itemType); <START> ItemType getCurrentItem(); <END> Builder quantity(int quantity) throws IllegalArgumentException; <E> Builder keyValue(Key<? extends BaseValue<E>> key, E value); Builder itemData(DataManipulator<?, ?> itemData) throws IllegalArgumentException; Builder itemData(ImmutableDataManipulator<?, ?> itemData) throws IllegalArgumentException; <V> Builder add(Key<? extends BaseValue<V>> key, V value) throws IllegalArgumentException; Builder fromItemStack(ItemStack itemStack); default Builder fromBlockState(BlockState blockState) { checkNotNull(blockState); final BlockType blockType= blockState.getType(); checkArgument(blockType.getItem().isPresent(), "Missing valid ItemType for BlockType: " + blockType.getId()); itemType(blockType.getItem().get()); blockState.getContainers().forEach(this::itemData); return this; } Builder fromContainer(DataView container); default Builder fromSnapshot(ItemStackSnapshot snapshot) { return fromItemStack(snapshot.createStack()); } Builder fromBlockSnapshot(BlockSnapshot blockSnapshot); Builder remove(Class<? extends DataManipulator<?, ?>> manipulatorClass); default Builder apply(Predicate<Builder> predicate, Consumer<Builder> consumer) { if (predicate.test(this)) { consumer.accept(this); } return this; } ItemStack build() throws IllegalStateException; }</code><technical_language>Builders return current values matter. building object, properties</technical_language>

Target:
void setQuantity(int quantity) throws IllegalArgumentException; int getMaxStackQuantity(); ItemStackSnapshot createSnapshot(); boolean equalTo(ItemStack that); @Override ItemStack copy(); interface Builder extends DataBuilder<ItemStack> { @Override Builder from(ItemStack value); Builder itemType(ItemType itemType); ItemType getCurrentItem(); Builder quantity(int quantity) throws IllegalArgumentException; <E> Builder keyValue(Key<? extends BaseValue<E>> key, E value); Builder itemData(DataManipulator<?, ?> itemData) throws IllegalArgumentException; Builder itemData(ImmutableDataManipulator<?, ?> itemData) throws IllegalArgumentException; <V> Builder add(Key<? extends BaseValue<V>> key, V value) throws IllegalArgumentException; Builder fromItemStack(ItemStack itemStack); default Builder fromBlockState(BlockState blockState) { checkNotNull(blockState); final BlockType blockType= blockState.getType(); checkArgument(blockType.getItem().isPresent(), "Missing valid ItemType for BlockType: " + blockType.getId()); itemType(blockType.getItem().get()); blockState.getContainers().forEach(this::itemData); return this; } Builder fromContainer(DataView container); default Builder fromSnapshot(ItemStackSnapshot snapshot) { return fromItemStack(snapshot.createStack()); } Builder fromBlockSnapshot(BlockSnapshot blockSnapshot); Builder remove(Class<? extends DataManipulator<?, ?>> manipulatorClass); default Builder apply(Predicate<Builder> predicate, Consumer<Builder> consumer) { if (predicate.test(this)) { consumer.accept(this); } return this; } ItemStack build() throws IllegalStateException; }