@Override public List<BakedQuad> getFaceQuads(EnumFacing side) { if (faces == null) { // Create map of each face's quads. EnumMap<EnumFacing, ImmutableList<BakedQuad>> faces = Maps.newEnumMap(EnumFacing.class); for (EnumFacing face : EnumFacing.values()) { ImmutableList.Builder<BakedQuad> faceQuads = ImmutableList.builder(); if (base != null) faceQuads.addAll(base.getFaceQuads(face)); for (IFlexibleBakedModel bakedPart : parts.values()) faceQuads.addAll(bakedPart.getFaceQuads(face)); faces.put(face, faceQuads.build()); } this.faces = Maps.immutableEnumMap(faces); } return faces.get(side); }